Clases y Objetos (PHP 4)
PHP Manual

Las funciones mágicas __sleep y __wakeup

serialize() revisa si la clase tiene una función con el nombre mágico __sleep. Si es así, esa función es ejecutada antes de cualquier serialización. Puede limpiar el objeto y se supone que devuelva una matriz con los nombres de todas las variables de ese objeto que deberán ser serializadas. Si el método no devuelve nada, entonces NULL es serializado y E_NOTICE es emitida.

La intención de utilizar __sleep es asentar datos pendientes o realizar tareas similares de limpieza. También la función es útil si se tienen objetos muy grandes que no necesitan ser guardados completamente.

De manera correspondiente, unserialize() revisa la presencia de una función con el nombre mágico de __wakeup. Si está presente, esta función puede reconstruir cualesquiera recursos que el objeto pueda tener.

El propósito de utilizar __wakeup es reestablecer cualquier conexión a bases de datos que se pudiese haber perdido durante la serialización y realizar otras tareas de reinicialización.


Clases y Objetos (PHP 4)
PHP Manual