Magiczne
funkcje
__sleep
i
__wakeup
serialize(
)
sprawdza
,
czy
twoja
klasa
zawiera
funkcję
o
magicznej
nazwie
__sleep
.
Jeśli
tak
,
ta
funkcja
jest
wywoływana
przed
każdą
serializacją
.
Może
ona
czyścić
obiekt
i
powinna
zwracać
tablicę
z
nazwami
wszystkich
zmiennych
obiektu
,
które
powinny
być
serializowane
.
Założonym
użyciem
__sleep
jest
zamknięcie
wszystkich
połączeń
do
baz
danych
,
które
obiekt
może
utrzymywać
,
zatwierdzenie
wszystkich
oczekujących
danych
lub
wykonanie
innych
podobnych
czynności
czyszczących
.
Funkcja
ta
jest
także
przydatna
jeśli
masz
bardzo
duże
obiekty
,
które
nie
muszą
być
zachowane
w
całości
.
Analogicznie
,
unserialize(
)
sprawdza
czy
istnieje
funkcja
o
magicznej
nazwie
__wakeup
.
Jeśli
tak
,
funkcja
może
rekonstruować
dowolne
zasoby
które
obiekt
może
posiadać
.
Założonym
użyciem
__wakeup
jest
odnowienie
połączeń
z
bazami
danych
,
które
mogły
zostac
utracone
w
procesie
serializacji
,
oraz
wykonanie
innych
czynności
odbudowujących
obiekt
.