Posebne funkcije __sleep in __wakeup

Funkcija serialize() preveri ali vaš razred vsebuje funkcijo s posebnim imenom __sleep. Če ta obstaja, jo bo funkcija serialize() klicala pred serializacijo. Funkcija naj bi očistila objekt in naj bi vrnila tabelo z vsemi imeni spremenljivk, ki naj bojo serializirane.

Namenjena uporaba __sleep je, da zapremo vse povezave na baze, ki jih ta objekt ima, zapisati vse čakajoče podatke ali kaksne podobne naloge. Pravtako je funkcija uporabna, ko imate zelo velike razrede in ni potrebno shranjevati celih razredov.

Nasprotno, pa funkcija unserialize() preveri ali obstaja funkcija s posebnim imenom __wakeup. Če je ta prisotna, lahko funkcija rekonstruira vse vire podatkov, ki jih je ta objekt imel.

Namenjena uporaba __wakeup je, da ponovno vzpostavi vse povezave na baze, ki so bile izgubljene med serializacijo in da opravi druge reinitializacijske naloge.