Différences
Ci-dessous, les différences entre deux révisions de la page.
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 ====== | ||