Mailinglisten-Archive |
Hallo Lutz, Lutz Zetzsche wrote: > Wir haben hier also ein Beispiel, wo ein Blick in das Handbuch wohl nicht > unbedingt die ultimative Lösung ist. Eine kleine Dokumentationslücke zu > einem "Bug" der zum Feature wurde. ;-) Wobei ich allerdings nicht > verstehe, warum es ursprünglich als ein Bug betrachtet wurde. Es ist > schließlich eine Definitionsfrage. Ein Bug kann eigentlich nur vorliegen, > wenn sich etwas anders verhält als definiert. Aber da im Handbuch keine > Definition zu finden ist, wie static sich in Klassen zu verhalten hat... Ein Bug kann auch vorliegen, wenn ein allgemein anerkanntes Prinzip, auf das man sich beruft, nicht korrekt umgesetzt wird. Die PHP-Entwickler können ja nun nicht das Konzept der objektorientierten Programmierung nach Gutdünken umsetzen. Wenn ich Objekte habe, arbeite ich mit Methoden und nicht mit Funktionen. Rein technisch mag das das selbe sein, aber mit der objektorientierten Programmierweise verfolgt man ja unter anderem den Zweck, die Eigenschaften zusammengehörender Daten nach außen hin abzuschotten, um sie gegen versehentliches Ändern zu schützen. Die jetzige, fehlerhafte, Implementierung von static erlaubt dagegen, dass zwei völlig unabhängige Objekte sich unter bestimmten Bedingungen die Daten überschreiben, womit genau das Gegenteil von dem entsteht, was durch die Kapselung der Daten in Objekten erreicht werden soll. Das kann also niemals richtig sein, egal, was im Handbuch steht. Fazit: Es bleibt also zur Zeit keine andere Möglichkeit, also auf static in PHP-Klassen zu verzichten, wenn man sauber programmieren will. > Etwas philosophisch - es ist halt Freitag... ;-) auch Sonntag ist ein guter Tag zum philosophieren. :-) Viele Grüße und noch einen schönen Restsonntag Peter
php::bar PHP Wiki - Listenarchive