Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!
Hallo Welt!
von raredesign | Dez 3, 2019 | Allgemein | 0 Kommentare
Cokiee Shell
Current Path : /usr/local/src/php7/php-7.0.5/Zend/tests/ |
Current File : //usr/local/src/php7/php-7.0.5/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===
Cokiee Shell Web 1.0, Coded By Razor
Neueste Kommentare