Zend 序列化不存储对象之间的关系

Zend serialization is not storing relationship between objects

我正在 PHP 中使用 Zend 开发一个应用程序,我需要在其中存储人员列表和每个人所在的城市。

所以我有 $person->city.

当我获得个人信息后,我会$person->setCity($aCity)设置相应的城市信息。 而且这个人掌握了所有的信息。

然后我做 $this->Sesion->People = serialize($people) [$people 是一个人对象数组]

然后,当我反序列化($this->Sesion->People)时,人们只有关于人的信息,而不是关于每个人所在城市的信息,所以如果我尝试做 $person->getCity()结果是 null 或空的,这与序列化之前的不同。

可以吗?我可以用不同的方式来做吗?

用于序列化以按要求处理对象。 您需要为 serialize 实施 __sleep 并为 unserialize

实施 __wakeup

请阅读http://php.net/manual/en/oop4.magic-functions.php了解更多详情。