Singleton is explained here: http://en.wikipedia.org/wiki/Singleton_pattern#PHP_5 . I want to use the singleton class as a superclass and extend it to other classes that should be single-point. The problem is that the superclass makes an instance by itself, not a subclass. Any idea how I can get Superclass to instantiate a subclass?
class Singleton { // object instance private static $instance; protected function __construct() { } public function __clone() { } public function __wakeup() { } protected static function getInstance() { if (!self::$instance instanceof self) { self::$instance = new self; if(self::$instance instanceof Singleton) echo "made Singleton object<br />"; if(self::$instance instanceof Text) echo "made Test object<br />"; } return self::$instance; } } class Test extends Singleton { private static $values=array(); protected function load(){ $this->values['a-value'] = "test"; } public static function get($arg){ if(count(self::getInstance()->values)===0) self::getInstance()->load(); if(isset(self::getInstance()->values[$arg])) return self::getInstance()->values[$arg]; return false; } }
Heinrik
source share