Symfony 2中应该包含哪些属性(以及为什么)serialize()
和方法?deserialize()
现在我有这个id
领域并且它只是工作,但我想知道为什么以及serialize()
在User
课堂上的目的是什么。为了避免此消息:
您不能从不包含标识符的 EntityUserProvider 刷新用户。用户对象必须使用由 Doctrine 映射的自己的标识符进行序列化。
Class User implements AdvancedUserInterface, \Serializable
{
/**
* @return string
*/
public function serialize()
{
return serialize($this->id);
}
/**
* @param string $data
*/
public function unserialize($data)
{
$this->id = unserialize($data);
}
}
虽然没有实现\Serializable
并具有所有属性protected
,但我得到:
Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken::serialize() 必须返回一个字符串或 NULL。