我有这两种方法(创建和更新)的代码。每次我需要更新或创建新用户时,我都需要用盐对用户密码进行编码。
$factory = $this->get('security.encoder_factory');
$encoder = $factory->getEncoder($entity);
$password = $encoder->encodePassword($entity->getPassword(), $entity->getSalt());
$entity->setPassword($password);
为了避免代码重复,我应该怎么做?
- 在控制器中创建一个新方法
getEncondedPassword($entity) : return $encodedPassword
$encoder
使用 DI 注入as required 字段将此逻辑添加到表单- 将此逻辑添加到模型中,并
$encoder
在实体对象的构造函数中传递。
谢谢!