![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/laminas/laminas-stdlib/src/ |
<?php declare(strict_types=1); namespace Laminas\Stdlib; use ReturnTypeWillChange; use Serializable; use UnexpectedValueException; use function is_array; use function serialize; use function sprintf; use function unserialize; /** * Serializable version of SplStack * * @template TValue * @extends \SplStack<TValue> */ class SplStack extends \SplStack implements Serializable { /** * Serialize to an array representing the stack * * @return list<TValue> */ public function toArray() { $array = []; foreach ($this as $item) { $array[] = $item; } return $array; } /** * Serialize * * @return string */ #[ReturnTypeWillChange] public function serialize() { return serialize($this->__serialize()); } /** * Magic method used for serializing of an instance. * * @return list<TValue> */ #[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<array-key, TValue> $data Data array. * @return void */ #[ReturnTypeWillChange] public function __unserialize($data) { foreach ($data as $item) { $this->unshift($item); } } }