Jak korzystać z fabryki koderów w Symfony 2 wewnątrz selektora modeli?

To pytanie o Symfony 2.1

Jak mogę zakodować hasło użytkownika za pomocą:

$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);

I podstawowa konfiguracja:

# app/config/security.yml
security:
    # ...

    encoders:
        Acme\UserBundle\Entity\User: sha512

Wewnątrz modeli seterów:

class User implements UserInterface, \Serializable
{
    public function setPassword($password)
    {
       $this->password = $password;
    }
}

Uważam, że proces szyfrowania hasła musi dotyczyć modelu. Jak mogę użyć standardowej fabryki koderów wewnątrz modelu?

questionAnswers(2)

yourAnswerToTheQuestion