phpbar.de logo

Mailinglisten-Archive

[php] PHP5 overloading

[php] PHP5 overloading

Kai Meder ml at kai.meder.info
Fre Okt 14 22:43:48 CEST 2005


hallo zusammen,

kennt jemand das problem
"Fatal error: Cannot access protected property Radix_Context::$user in 
<file> on line <line>"
beim benutzen von overloading mittels __get() ?

aufruf:
$this->context->user->attributes->userID = 1;

$this->context ist eine klasse mit der protected property $user.
anstatt die overloading methode __get aufzurufen, hängt sich php immer 
an $user auf ... obwohl es protected ist! sobald ich die property auf 
$_user ändere, funktioniert es aber er hängt sich an der nächsten 
property attributes auf ...

$db = $this->context->database; funktioniert jedoch. für database wird 
korrekterweise __get aufgerufen und es ist genauso eine protected 
property wie user ...

habe das ganze auch schnell mit paar zusammengehackten klassen 
gegentesten, prinzipiell hat php mit diesem chaining von __get-aufrufen 
keine probleme ...

hat jemand irgendeinen rat?
kai

php::bar PHP Wiki   -   Listenarchive