Как использовать фабрику кодировщиков в 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;
    }
}

Я считаю, что процесс шифрования пароля должен иметь дело с моделью. Как я могу использовать стандартную фабрику кодировщика внутри модели?

Ответы на вопрос(2)

Ваш ответ на вопрос