php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /var/www/html/sub/images/Rm19_symconf/root/php-7.1.11/Zend/tests/ |
files >> /var/www/html/sub/images/Rm19_symconf/root/php-7.1.11/Zend/tests/lsb_018.phpt |
--TEST-- ZE2 Late Static Binding and Singleton --FILE-- <?php abstract class Singleton { static private $instances = array(); static private $nextInstanceId = 0; private $instanceId = NULL; static final public function getInstance() { $caller = get_called_class(); if (!isset(self::$instances[$caller])) { self::$instances[$caller] = new $caller; self::$instances[$caller]->instanceId = self::$nextInstanceId++; } return self::$instances[$caller]; } public final function getInstanceId() { return $this->instanceId; } public final function identify() { var_dump($this); } } class Foo extends Singleton { } class Bar extends Singleton { } class Baz extends Bar { } $u = Foo::getInstance(); $v = Bar::getInstance(); $w = Baz::getInstance(); $u->identify(); $v->identify(); $w->identify(); $x = Foo::getInstance(); $y = Bar::getInstance(); $z = Baz::getInstance(); $u->identify(); $v->identify(); $w->identify(); $x->identify(); $y->identify(); $z->identify(); ?> ===DONE=== --EXPECTF-- object(Foo)#%d (1) { ["instanceId":"Singleton":private]=> int(0) } object(Bar)#%d (1) { ["instanceId":"Singleton":private]=> int(1) } object(Baz)#%d (1) { ["instanceId":"Singleton":private]=> int(2) } object(Foo)#%d (1) { ["instanceId":"Singleton":private]=> int(0) } object(Bar)#%d (1) { ["instanceId":"Singleton":private]=> int(1) } object(Baz)#%d (1) { ["instanceId":"Singleton":private]=> int(2) } object(Foo)#%d (1) { ["instanceId":"Singleton":private]=> int(0) } object(Bar)#%d (1) { ["instanceId":"Singleton":private]=> int(1) } object(Baz)#%d (1) { ["instanceId":"Singleton":private]=> int(2) } ===DONE===y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`