dedlfix: Sichtbare Eigenschaft die man nicht ändern darf

Beitrag lesen

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.