jeroenvdheuve / serialization
反序列化 PHP 序列化字符串,并能够处理未加载的类
dev-master
2015-02-10 17:00 UTC
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-09-18 07:07:22 UTC
README
描述
这个库提供了反序列化和重新序列化 PHP 序列化数据的能力。与 PHP 反序列化器不同,此库不会创建被序列化的实际对象。因此,当序列化的类找不到时,不会抛出错误。当使用多个应用程序通过 PHP 序列化共享数据时,这可能会很有用。
已知问题
HHVM 无法序列化包含对象的引用。包含对象的引用将被序列化为一个指向相同对象的副本/引用,而不是指向相同变量的引用。
例如
$o = new stdClass(); echo serialize(array(&$o, &$o))
当引用得到适当支持时,应该输出 a:2:{i:0;O:8:"stdClass":0:{}i:1;O:8:"stdClass":0:{}}}
。HHVM 将输出 a:2:{i:0;O:8:"stdClass":0:{}i:1;r:2;}
。小写的 r
表示它不是指向相同变量的引用。它只是指向相同的对象。
HHVM 支持包含引用的变量。例如
$i = 1; echo serialize(array(&$i, &$i));
在 PHP 和 HHVM 中都会输出 a:2:{i:0;i:1;i:1;O:8:"stdClass":0:{}}
。