Просмотр поста

.
Koenig
(\/)____o_O____(\/)

Delphinum,

interface SingletonInterface {
    public function getInstance();
}

trait SingletonTrait {
    protected static $instance = null;
    
    public function __construct(){}

    public function __clone(){}

    public function __wakeup(){}
    
    public final static function getInstance() {
        if (null === self::$instance) {
            self::$instance = new self();
        }
        return self::$instance;
    }
}

class MyClass implements SingletonInterface{
    use SingletonTrait;
  
    public function test() {
        echo '<pre>' . print_r($this, 1) . '</pre>';
    }
}

$a = MyClass::getInstance();
$a->test();