Sedan2::what_vehicle(); class singleton { public static $instance; private function __construct() { echo 'Contruct of singleton class called' . "\n"; } public static function get_instance() { if (!static::$instance instanceof static) { static::$instance = new static(); } return static::$instance; } public function test() { echo 'test function called' . "\n"; } } class B extends singleton { public static $instance; protected function __construct() { echo 'Construct of Class B called' . "\n"; } } singleton::get_instance()->test(); B::get_instance()->test(); B::get_instance()->test();
public function singleton() { require WEB_DIR . MODELS_DIR . "design_patterns/singleton_pattern.php"; $singleton = singleton::get_instance("got 'em"); $singleton = singleton::get_instance("try again"); return $singleton->get_element(); }