L'interface Serializable
(PHP 5 >= 5.1.0)
Introduction
Interface permettant de personnaliser la linéarisation.
Les classes implémentant cette interface ne supportent plus __sleep() et __wakeup(). La méthode de linéarisation est appelée chaque fois qu'une instance doit être linéarisée. Elle n'appelle pas la méthode __destruct() et n'a aucun effet sur le contenu de cette méthode. Lorsque les données sont linéarisées, la classe est connue et la méthode unserialize() appropriée est appelée comme constructeur au lieu d'appeler __construct(). Si vous devez appeler le constructeur standard, vous pouvez le faire dans la méthode.
Sommaire de l'Interface
Serializable
{
/* Méthodes */
}Exemple #1 Exemple simple
<?php class obj implements Serializable { private $data; public function __construct() { $this->data = "Mes données privées"; } public function serialize() { return serialize($this->data); } public function unserialize($data) { $this->data = unserialize($data); } public function getData() { return $this->data; } } $obj = new obj; $ser = serialize($obj); var_dump($ser); $newobj = unserialize($ser); var_dump($newobj->getData()); ?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
string(38) "C:3:"obj":23:{s:19:"Mes données privées";}" string(19) "Mes données privées"
Sommaire
- Serializable::serialize — Représentation linéaire de l'objet
- Serializable::unserialize — Construit un objet