我正在查看 Wordpress 核心,我发现了这个函数:
function unserialize ( $data ) {
return unserialize( $data );
}
首先,我什至不明白为什么要定义 unserialize,因为它是一个 native php 函数。其次,既然它是递归定义的,没有任何条件停止无限递归,这到底是怎么回事?
给我一根骨头。我是这方面的新手。
最佳答案
那必须是类中的方法定义,例如:
class SomeClass
{
function unserialize($data)
{
return unserialize($data);
}
// ...
}
否则你会收到一个 fatal error ,提示你不能重新声明 unserialize()
。
它所做的只是向类中添加一个unserialize()
方法。然后,此方法调用 PHP 中的 native unserialize()
函数。看起来很傻,但是,我没有写 Wordpress。
我相信我找到了有问题的方法:wp-includes/rss.php
(第 783 行)。它确实是 RSSCache
类的一个方法。
我想他们将来可能想要编写自己的序列化例程和/或 RSSCache
的某些子类有自己的 serialize()
和 反序列化()
。
关于php - 为什么反序列化嵌套在 Wordpress 核心中的另一个反序列化函数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12732047/