ToDo

Aus wiki.tommy-schmidt.de

Wechseln zu: Navigation, Suche

[bearbeiten] Singleton Pattern

  • 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();


Persönliche Werkzeuge