class Singleton { private static $instance; public static function getInstance() { if(!isset(self::$instance)) { $c = __CLASS__; self::$instance = new $c(); } return self::$instance; } }
And the explanation…
class Singleton { private static $instance; // static variable to hold our 1 instance public static function getInstance() { // function to get the 1 instance if(!isset(self::$instance)) { // this will only run once (and instantiate once) $c = __CLASS__; // get the class (Singleton) self::$instance = new $c(); // instantiate the class and store it in our variable } return self::$instance; // return the instance } public static function myFunction() { // we can get to this through Singleton::getInstance()->myFunction() // ... } }
Comments