Tach!
Habt ihr mehr Erfolg???
Dein Beispiel enthält Syntaxfehler und die beiden Methoden __set() und __get() enthalten keinen Code. Deswegen ist "geht nicht" erklärlich.
Der Zugriff bei "geht leider" ist auch normal, denn vorhandene und zugängliche (public) Eigenschaften triggern nicht den Aufruf von __set()/__get().
dedlfix.