Tach!
Ach, da ist ein != ... na, das ist ja einerseits für das Vorhaben unnötig
Nein ist es nicht, denn von Außen könnte man immer noch die Public Eigenschaft setzen und dann wird die dem __get bevorzugt. Dann hätte der Workaround nichts gebracht, da man immer direkt auf die Public Eigenschaft zugreifen würde
Stimmt auch wieder. Wenn keine Public-Eigenschaft vorhanden ist, dann wird sie ja einfach gesetzt, wenn kein __set() das verhindert.
Es gibt aber eine bessere Lösung: mach die Eingenschaft mit ihrem richtigen Namen private und schreib nur einen Zugriff über __get(). Damit kann man die "private" Eigenschaft lesen, weil __get() quasi stärker als private ist, aber beim Schreiben kommt ein Fatal error: Cannot access private property.
andererseits kann man damit alle anderen - auch privaten - Variablen beschreiben.
hmmm... das hab ich nicht getestet, dass ist eine gute idee :).
Du hast jetzt eine Blacklist, willst aber eigentlich eien Whitelist haben. (Ohne Eintrag für deine Eigenschaft, also eine leere Whtelist, wenn nicht noch was anderes erlaubt sein soll.)
dedlfix.