phpbar.de logo

Mailinglisten-Archive

[php] static in Methoden (PHP4) - Ist das so gedacht?

[php] static in Methoden (PHP4) - Ist das so gedacht?

Peter Bieling network at media-palette.de
Sam Jan 14 16:16:57 CET 2006


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