As
funções
mágicas
__sleep
e
__wakeup
serialize(
)
verifica
se
sua
classe
tem
uma
função
com
o
nome
mágico
__sleep
.
Se
sim
,
essa
função
será
executada
antes
de
qualquer
serialização
.
Assim
é
possível
controlar
a
persistência
do
objeto
enquanto
deve
retornar
um
array
com
os
nomes
de
todas
as
variáveis
daquele
objeto
que
precisam
ser
serializadas
.
__sleep
é
planejado
para
fechar
quaisquer
conexões
com
bancos
de
dados
que
o
objeto
tenha
,
realizar
commits
pendentes
ou
realizar
tarefas
de
limpeza
semelhantes
.
A
função
também
é
útil
se
você
tem
objetos
muito
grandes
que
não
precisam
ser
salvos
completamente
.
Da
mesma
forma
,
unserialize(
)
verifica
pela
presença
de
uma
função
com
o
nome
mágico
__wakeup
.
Se
presente
,
esta
função
pode
reconstruir
quaisquer
recursos
que
o
objeto
tenha
.
__wakeup
é
planejado
para
restabelecer
conexões
com
bancos
de
dados
perdidas
durante
a
serialização
e
para
realizar
outras
tarefas
de
reinicialização
.