Autor | Zpráva | ||
---|---|---|---|
Poky Profil |
#1 · Zasláno: 15. 8. 2008, 22:44:25
Mám tuto třídu s metodou __set_state():
class MyClass { public $one = 1; private $two = 2; public static function __set_state($params) { $obj = new MyClass(); foreach ($params as $key => $value) { $obj->$key = $value; //zde bych se k $obj->two neměl dostat! } return $obj; } } Když zavolám $mc = MyClass::__set_state( array( 'one'=>10, 'two=>20' ) ); vytvoří se pomocí __set_state() objekt, který má atribut $two nastaven na 20 přesto, že metoda __set_state() by neměla mít možnost modifikovat privátní atribut. Nebo uvnitř __set_state() platí nějaká výjimka? |
||
Poky Profil |
#2 · Zasláno: 15. 8. 2008, 22:47:33
Nebo to je proto, že manipuluju s jednou instancí MyClass uvnitř druhé?
|
||
Časová prodleva: 16 let
|
0