Das Entwurfsmuster Singleton in PHP. Dieses Muster kommt dann zum Einsatz wenn von einer Klasse nur eine Instanz existieren soll.
Dazu werden die Erzeugungs- und Kopieroperationen für den öffentlichen Zugriff gesperrt und eine extra Operation (getInstance()) angelegt die das Objekt anschließen instantiiert. In einer statischen Variablen ($_theInstance) wird die Referenz auf das Objekt gespeichert, bei einen weiteren Aufruf der Operation (getInstance()) wird nur die Referenz zurück gegeben.
final class Singleton { static private $_theInstance = null; private function __construct(){} private function __clone(){} static public function getInstance(){ if(is_null(self::$_theInstance))self::$_theInstance = new self(); return self::$_theInstance; } public function example(){ return 'Foo Bar'; } } // fatal error // $foo = new Singleton(); $foo = Singleton::getInstance(); echo $foo->example(); // Foo Bar