L'interface Serializable Serializable
&reftitle.intro; 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. À partir de PHP 8.1.0, une classe qui implémente Serializable sans aussi implémenter __serialize() et __unserialize() génèrera une notice de dépréciation.
&reftitle.interfacesynopsis; Serializable Serializable &Methods;
Exemple simple 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()); ?> ]]> &example.outputs.similar;
&language.predefined.serializable.serialize; &language.predefined.serializable.unserialize;