1

Symfony で Doctrine_query オブジェクトをシリアライズしようとしています:

var_dump(serialize($this->pager->getQuery()));

結果は次のとおりです。

string(2) "N;"

私は何を間違っていますか?

4

1 に答える 1

2

PHP では、すべてのオブジェクトをシリアライズすることはできません。オブジェクト自体は、SerializeableインターフェイスPHP Manualを実装することにより、たとえばシリアライズされないように保護できます。

その場合、値を返します (または、その時点で PHP にNULLあるものは何も返しません)。NULLそして、それはまさにシリアル化された文字列の内容です: シリアル化されたNULL( N;)。

さらに、それ以上の組み込みクラスもあります。しかし、これはユーザー定義クラスと組み込みクラスにも当てはまります。それらのいくつかはシリアル化に使用できません。


PHP でシリアル化できない組み込みクラスの一例は ですがDOMDocument、次の質問が示すように機能を追加することは可能です。

于 2011-07-17T13:00:26.600 に答える