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();