Какие свойства (и почему )должны быть включены в методы serialize()
и deserialize()
в Symfony 2?
На данный момент у меня есть поле id
, и оно просто работает, но я хотел бы знать, почему и какова цель serialize()
в классе User
. чтобы избежать этого сообщения:
You cannot refresh a user from the EntityUserProvider that does not contain an identifier. The user object has to be serialized with its own identifier mapped by 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() must return a string or NULL.