Diskussion:Singleton
Aus php bar
Hallo,
ich wollte die Singleton Klasse benutzen habe die so auch übernommen bekomme aber die Meldung: "Fatal error: Access to undeclared static property: singleton::$instances".
Was mache ich falsch?
Ich habe die PHP Version 5.1.6.
EDIT: Siehe aktuelle Version vom 9.03.2007
Schreibweise des Codes
Es ist ein schlechter Stil, das static Schlüsselwort nach vorne zu schreiben. Die vernünftigere Schreibweise ist immer "public static" oder "private static". Siehe z.B. php.net
Allgemeingültigkeit
Man sollte die Instanz nicht explizit durch den Klassennamen erzeugen (" ... new Girl();"), sondern implizit durch self (" ... new self();"). Darüberhinaus könnte es in PHP Versionen < 5 zu Problemen in Bezug auf die Einmaligkeit der eigentlichen Objekt-Instanz kommen, da diese dort nicht als Referenz übergeben wird. Um es eindeutiger zu machen empfiehlt sich ein explizites & vor dem Methoden Namen und vor new. Ich vermisse außerdem den Hinweis darauf, dass die Magic Methoden __clone(), __sleep() und __wakeup() korrekt implementiert sein sollten, wenn man ein wahres Singleton haben möchte. -- 84.179.177.64 15:13, 4. Apr 2008 (CEST)

