Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prog:symfony:entities:fixtures [04/10/2022 17:23]
thierry [Application des fixtures]
prog:symfony:entities:fixtures [09/10/2022 17:24] (Version actuelle)
thierry [Créer un mot de passe d'utilisateur]
Ligne 48: Ligne 48:
 ===== Application des fixtures ===== ===== Application des fixtures =====
 ''​symfony console doctrine:​fixtures:​load''​ ''​symfony console doctrine:​fixtures:​load''​
 +===== Cas particuliers =====
 +==== Créer un mot de passe d'​utilisateur ====
 +Il faut hasher le mot de passe avant de le stocker avec ''​$user->​setPassword''​
 +
 +Dans l'​exemple ci dessous :
 +  - Nouvelle clause use :''​use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;''​
 +  - Modification/​Ajout de la function ​ ''​construct''​ pour injecter ''​userPasswordHasherInterface''​
 +  - Hashage du mot de passe avec ''​$this->​userPasswordHasherInterface->​hashPassword($user,'​password'​);''​
 +
 +
 +<code php>
 +use App\Entity\User;​
 +use Doctrine\Persistence\ObjectManager;​
 +use Doctrine\Bundle\FixturesBundle\Fixture;​
 +use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;​
 +
 +class AppFixtures extends Fixture
 +{
 +    private $userPasswordHasherInterface;​
 +    public function __construct (UserPasswordHasherInterface $userPasswordHasherInterface) ​
 +    {
 +        $this->​userPasswordHasherInterface = $userPasswordHasherInterface;​
 +    }
 +
 +    public function load(ObjectManager $manager): void
 +    {
 +        $user = new User;
 +        $user->​setEmail('​test@test.com'​);​
 +        $hashedPassword = $this->​userPasswordHasherInterface->​hashPassword($user,'​password'​);​
 +        $user->​setPassword($hashedPassword);​
 +        $manager->​persist($user);​
 +        $manager->​flush();​
 +    }
 +}
 +
 +</​code>​
 +
 +
  
  
 ====== Sources & Ressources ====== ====== Sources & Ressources ======