Aus wiki.tommy-schmidt.de
- wenn nur ein Objekt einer Klasse existieren darf (z.B. Log-Funktion, die Ausgabe in eine Datei schreibt)
class TestClass {
private static $instance = NULL;
//private verhindert die Erzeugung eines Objektes mit "new", kann nur von sich selbst aus aufgerufen werden
private function __construct() {
//more to come
}
//Instanz pruefen, ggf. erzeugen und zurueckgeben
static function instance() {
if(self::$instance === NULL) {
self::$instance = new self;
}
return self::$instance;
}
//Klonen von aussen verbieten
private function __clone() {
}
public function sayHello() {
echo "Hello!";
}
}
//
$TestClass = TestClass::instance();
$TestClass->sayHello();