for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace App\Repository;
use App\Entity\User;
use Doctrine\Persistence\ManagerRegistry;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
final class ResettingRepository extends UserRepository
{
/**
* @var UserPasswordEncoderInterface
*/
private $passwordEncoder;
public function __construct(ManagerRegistry $registry, UserPasswordEncoderInterface $passwordEncoder)
parent::__construct($registry);
$this->passwordEncoder = $passwordEncoder;
}
public function setPassword(User $user, string $plainPassword): void
$user->setPassword($this->passwordEncoder->encodePassword($user, $plainPassword));
$user->setConfirmationToken(null);
$user->setPasswordRequestedAt(null);
$this->save($user);
public function setToken(User $user, string $token): void
$user->setConfirmationToken($token);
$user->setPasswordRequestedAt(new \DateTime());
private function save(User $user): void
$em = $this->getEntityManager();
$em->persist($user);
$em->flush();