src/EventSubscriber/EasyAdminSubscriber.php line 41
<?phpnamespace App\EventSubscriber;use App\Entity\User;use Doctrine\ORM\EntityManagerInterface;use EasyCorp\Bundle\EasyAdminBundle\Event\BeforeEntityPersistedEvent;use EasyCorp\Bundle\EasyAdminBundle\Event\BeforeEntityUpdatedEvent;use Symfony\Component\EventDispatcher\EventSubscriberInterface;use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;class EasyAdminSubscriber implements EventSubscriberInterface{private $entityManager;private $passwordHasher;public function __construct(EntityManagerInterface $entityManager, UserPasswordHasherInterface $passwordHasher){$this->entityManager = $entityManager;$this->passwordHasher = $passwordHasher;}public static function getSubscribedEvents(){return [BeforeEntityPersistedEvent::class => ['addUser'],BeforeEntityUpdatedEvent::class => ['updateUser'],];}public function updateUser(BeforeEntityUpdatedEvent $event){$entity = $event->getEntityInstance();if (!($entity instanceof User)) {return;}$this->setPassword($entity);}public function addUser(BeforeEntityPersistedEvent $event){$entity = $event->getEntityInstance();if (!($entity instanceof User)) {return;}$this->setPassword($entity);}public function setPassword(User $entity): void{$plainPassword = $entity->getPassword();if ($plainPassword !== null) {$hashedPassword = $this->passwordHasher->hashPassword($entity, $plainPassword);$entity->setPassword($hashedPassword);}}}