File manager - Edit - /opt/alt/tests/alt-php83-pecl-msgpack_2.2.0-1.el8/tests/042.phpt
Back
--TEST-- Closure --SKIPIF-- <?php if (version_compare(PHP_VERSION, '5.3.0') < 0) { echo "skip closures only for PHP 5.3.0 or newer"; } --FILE-- <?php if(!extension_loaded('msgpack')) { dl('msgpack.' . PHP_SHLIB_SUFFIX); } $closure = function ($x) { return $x + 1; }; class Foo implements Serializable { public function serialize() { echo "Should not be run.\n"; } public function unserialize($str) { echo "Should not be run.\n"; } public function __serialize() { return [$this->serialize()]; } public function __unserialize($serialized) { return $this->unserialize($serialized[0]); } } $array = array($closure, new Foo()); try { $ser = msgpack_serialize($array); echo "Serialized closure.\n"; $unser = msgpack_unserialize($ser); echo "Unserialized closure.\n"; var_dump($unser); } catch (Exception $e) { echo "Got exception.\n"; } --EXPECT-- Got exception.
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.27 |
proxy
|
phpinfo
|
Settings