Witam wszystkich. Aktualnie przerabiam metody magiczne w php. Generalnie wszystko rozumiem oprócz jednej rzeczy. Doszedłem do metody __set_state. W tutorialu napisano tak :
Jest to metoda statyczna, która jest wywoływana w momencie użycia na klasie funkcji var_export(). Przyjmuje jeden parametr, zawierający eksportowane właściwości w formacie:
array('wlasciwosc1' => wartosc, 'wlasciwosc2' => wartosc, …)
No i o.k wszystko jasne. Tylko w takim razie dlaczego poniższy kod:
<?php
class Cwiczenia
{
public $wartosc1 = 19;
public $wartosc2 = 12;
public static function __set_state($Tablica)
{
echo 'Uruchomiłeś magiczną metodę set_state';
}
}
$TestowyObiekt = new Cwiczenia();
var_export($TestowyObiekt);
?>
Nie powoduje wyświetlenia Uruchomiłeś magiczną metodę set_state
, skoro ewidentnie użyłem funkcji var_export
...?