chandler/chandler/Patterns/TSimpleSingleton.php
2021-12-28 22:01:01 +01:00

30 lines
488 B
PHP

<?php
declare(strict_types = 1);
namespace Chandler\Patterns;
/**
* @package Chandler\Patterns
*/
trait TSimpleSingleton
{
/**
* @var static
*/
private static $instance;
/**
* @return static
*/
public static function i(): self
{
if (is_null(static::$instance)) {
return static::$instance = new static();
} else {
return static::$instance;
}
}
private final function __construct() {}
}