phpbar.de logo

Mailinglisten-Archive

[php] Overloading in PHP 5

[php] Overloading in PHP 5

Carsten Möhrke cmoehrke at netviser.de
Son Dez 5 15:04:54 CET 2004


Hai!

> Anscheinend, überprüft PHP erst, ob die Eigenschaft im 
> geschützten Bereich existiert und erzeugt sogleich eine 
> Fehlermeldung bevor das Vorhandensein von __set($n, $v) 
> überprüft wird. Hat jemand von euch eine ähnliche Erfahrung 
> gemacht? Ist dies ein Bug oder wird das als Feature angesehen?

Hm, also so ganz kann ich nicht nachvollziehen wozu Du __set() nutzt. Getter
Und Setter sind für den Zugriff auf nicht definierte Eigenschaften gedacht.
Du hast sie aber deklariert daher macht es wenig Sinn hier uaf __set() bzw.
__get() zuzugreifen. Möchtest Du eine protected Eigenschaft beeinflussen so
solltest Du dafür entsprechende Methoden bereitstellen, also sowas wie
getParent() und setParent(). __set() und __get() sollte man meiner Ansicht
nach weiträumig umschiffen. Ich persönlich finde es auch nicht so schick,
dass die in PHP implementiert wurden. Siehe auch hier:
http://www.javaworld.com/javaworld/jw-09-2003/jw-0905-toolbox.html ( Why
getter and setter methods are evil)



php::bar PHP Wiki   -   Listenarchive