__serialize()); } /** * Magic method used for serializing of an instance. * * @return array */ #[ReturnTypeWillChange] public function __serialize() { return $this->toArray(); } /** * Unserialize * * @param string $data * @return void */ #[ReturnTypeWillChange] public function unserialize($data) { $toUnserialize = unserialize($data); if (! is_array($toUnserialize)) { throw new UnexpectedValueException(sprintf( 'Cannot deserialize %s instance; corrupt serialization data', self::class )); } $this->__unserialize($toUnserialize); } /** * Magic method used to rebuild an instance. * * @param array $data Data array. * @return void */ #[ReturnTypeWillChange] public function __unserialize($data) { foreach ($data as $item) { $this->unshift($item); } } }