| 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: 18 let
|
|||
0