Hallo,
Die magischen Methode sollte man nach Möglichkeit immer vermeiden zu benutzen.
A bold statement.
Sie sind sehr schwer testbar, insbesondere wenn sie schlecht geschrieben sind (so wie hier im Beispiel), weil sie sich nur um den Positiv-Fall kümmern.
Hm, da hast du wohl Recht, sie sollten sich für alles andere verhalten als ob sie nicht da wären. Ich hab noch mal in die PHP-Doku geschaut und muss wohl einsehen dass auch dieser Teil von PHP einfach nur scheiße ist, das schön zu Implementieren scheint ja ein enormer Aufwand zu sein.
Andere Sprachen haben das so unglaublich viel schöner gelöst wie @property in Objective-C wo man getter und setter automatisch erstellen lässt und diese dann aber auch einzeln überschreiben kann. Oder Ruby mit attr_accessor (samt attr_reader und attr_writer) die das genauso machen dass sie getter und setter methoden automatisch erstellen, die man dann aber noch von hand überschreiben kann falls benötigt.
Darüber hinaus erschweren sie die Nutzung von Code-Completion in handelsüblichen Entwicklungsumgebungen.
Naja ok, so was ist mit PHP eh ein Krampf da schon alleine die Typen fehlen.
Jeena