// Старый способ (PHP < 7.4)
class OldStyle {
public function __sleep(): array {
return ['name', 'age']; // какие свойства сериализовать
}
public function __wakeup(): void {
$this->connection = new DB(); // восстановить ресурсы
}
}
// Новый способ (PHP 7.4+)
class NewStyle {
public function __serialize(): array {
return ['name' => $this->name, 'age' => $this->age];
}
public function __unserialize(array $data): void {
$this->name = $data['name'];
$this->age = $data['age'];
}
}
$serialized = serialize($obj);
$obj = unserialize($serialized);Новые методы дают полный контроль над форматом данных. Для API используйте JSON, не serialize().