序列化Phalcon \ Mvc \ Model失去了不属于模式一部分的对象属性。Phalcon Mvc Model序列化 - 对象属性丢失
我有以下的型号,其在负载状态集合数组:
class Country extends Phalcon\Mvc\Model
{
protected $states;
public function initialize()
{
$this->setSource('countries');
}
public function afterFetch()
{
if ($this->id) {
$this->states = ['AL', 'AZ', 'NV', 'NY'];
}
}
}
我这样做:
$country = Country::findFirst($countryId);
$serialized = serialize($country);
$unserialized = unserialize($serialized);
$序列串甚至不含有 “国家” 串。因此,“无序”对象中缺少“国家”。
我发现这一点,同时在会话中的用户身份验证和持久性(涉及序列化/非序列化)。我的用户对象正在丢失在afterFetch()阶段加载的所有属性。
两个问题:
- 为什么 “状态” 属性消失在序列化?
- 在Phalcon世界里坚持模型(我认为这是一种在会话中存储用户对象的方便方式)是否是一种不好的做法?
我在Phalcon 1.3.0上。
感谢, Temuri
Github的用户alanbarber111发布了一个有趣的片段:github上。 COM /尔康/ cphalcon /问题/ 1285 – temuri