- var_dump: documentation ( source)
- spl_object_hash: documentation ( source)
<?php
class Singleton
{
private function __construct(){}
private function __clone(){}
private function __sleep(){}
private function __wakeup(){}
private static $instance;
public static function getInstance()
{
if ( ! self::$instance)
{
self::$instance = new static();
}
return self::$instance;
}
}
$obj1 = Singleton::getInstance();
$obj2 = Singleton::getInstance();
var_dump(spl_object_hash($obj1) == spl_object_hash($obj2));
$cloner = function(){
return new Closure();
};
$obj3 = null;
$obj3 = $cloner::bindTo($obj1)->__invoke();
var_dump(spl_object_hash($obj1) == spl_object_hash($obj3));