Manuel PHP
Précédent | Chapitre 18. Les classes et les objets (PHP 4) | Suivant

# Les fonctions magiques `__sleep` et `__wakeup`

serialize() s'assure que votre classe a une méthode avec le nom magique `__sleep`. Si c'est le cas, cette fonction est appelée avant toute linéarisation. Elle peut alors nettoyer l'objet et on s'attend à ce qu'elle retourne un tableau avec la liste des noms de variables qui doivent être sauvées.

Le but de cette fonction `__sleep` est de fermer proprement toute connexion à une base de données, de valider les requêtes, de finaliser toutes les actions commencées. Cette fonction est aussi pratique si vous avez de très grands objets qui n'ont pas besoin d'être sauvés entièrement.

À l'inverse, unserialize() s'assure de la présence de la fonction magique `__wakeup`. Si elle existe, cette fonction reconstruit toutes les ressources d'un objet.

Le but de cette fonction `__wakeup` est de rétablir toutes les connexions aux bases de données, et de recréer les variables qui n'ont pas été sauvées.

Précédent | Sommaire | Suivant
Sauvegarde d'objets - cas des sessions | Niveau supérieur | Références dans un constructeur