2013-05-07 104 views
6

我正在寻找关于PHP序列化()函数如何准确工作的规范或确切描述。我能找到的主题是that comment in the manualPHP序列化() - 规范

是否有任何地方有关于PHP如何实现这一点的更详细的描述?

+0

我想最好的规范是查看源代码,但这可能有点太多。你究竟想知道什么? – 2013-05-07 12:51:58

+0

@Pekka웃我特别感兴趣的是字符串序列化的细节。 – philipp 2013-05-07 12:53:47

+0

我想你可能不得不查看源代码。你想知道什么?如果你正在寻找一种可移植的格式来传输数据,JSON似乎更普遍 – 2013-05-07 12:57:05

回答

1

为了真正知道PHP如何处理序列化的字符串,需要根据注释中Pekka suggested的建议深入挖掘源代码。

尝试从:http://lxr.php.net/search?q=PHP_FUNCTION+serialize&project=PHP_5_4这给出一个方便的方式来搜索来源。

此链接来自http://nikic.github.io/2012/03/16/Understanding-PHPs-internal-function-definitions.html,它解释了如何在php源代码中找到特定的函数定义。

Goodluck!

+0

我选择这个答案是最好的,因为它提供了最佳的背景信息链接。不幸的是,事实证明,解析这些序列化的字符串(不是用php)更容易出现猜测和错误,但我可以用java编写一个工作版本。但事实上,损坏的输入将永远无法打破它,因为我正在尝试处理mysqldump文件,所以我必须认识到,即使所有测试都通过了,也可以编写另一个失败的有效测试。 (f.i.包含串行化对象的损坏的字符串)。 – philipp 2013-09-03 21:53:06

2

我想挖掘到这几年前。警告:此博客帖已经过时。我认为规范仍然准确,但忽略它周围的内容;)

http://evertpot.com/133/跳转到标题为:的串行数据格式

+0

终于,在这个'封闭不是真正的问题'线程的真正答案,谢谢! – raveren 2013-09-16 13:28:20