我已经在security.yaml中为我的用户实体类分配了密码编码器。但是我不明白如何在用户类的setPassword方法中的方法寄存器(UserPasswordEncoderInterface $ encoder,$ passwordInChiaro)中检索该编码器。 $ passwordEncoder应该从哪里来?我试过了 $ this-> get('security.password_encoder') 但这不起作用。
security:
encoders:
App\Entity\User:
#algorithm: bcrypt
public function setPassword(string $password): self
{
$codificata=$this->register($passwordEncoder, $password);
$this->password = $codificata;
}
public function register(UserPasswordEncoderInterface $encoder, $passwordInChiaro)
{
$utente = new App\Entity\User();
$encoded = $encoder->encodePassword($utente, $passwordInChiaro);
return $encoded;//ritorno la password codificata
}