Как использовать фабрику кодировщиков в Symfony 2 внутри установщика моделей?
Этот вопрос о Symfony 2.1
Как я могу кодировать пароль пользователя с помощью:
$factory = $this->get('security.encoder_factory');
$user = new Acme\UserBundle\Entity\User();
$encoder = $factory->getEncoder($user);
$password = $encoder->encodePassword('ryanpass', $user->getSalt());
$user->setPassword($password);
И базовый конфиг:
# app/config/security.yml
security:
# ...
encoders:
Acme\UserBundle\Entity\User: sha512
Внутри сеттера модели:
class User implements UserInterface, \Serializable
{
public function setPassword($password)
{
$this->password = $password;
}
}
Я считаю, что процесс шифрования пароля должен иметь дело с моделью. Как я могу использовать стандартную фабрику кодировщика внутри модели?