我正在尝试在Symfony中序列化一个Doctrine_query对象:
var_dump(serialize($this->pager->getQuery()));
结果是:
string(2) "N;"
我做错了什么?
答案 0 :(得分:2)
您无法在PHP中序列化每个对象。对象本身 - 通过实现Serializeable
interface PHP Manual - 可以保护自己不被序列化。例如。
然后返回NULL
值(或者不返回PHP中NULL
的任何内容)。这正是序列化字符串的内容:序列化的NULL
(N;
)。
甚至还有一些内置类比这更进一步。但它也适用于用户定义的类和内置类:其中一些不可用于序列化。
无法在PHP中序列化的内置类的一个示例是DOMDocument
,但是可以添加功能,如以下问题所示: