Ceci est une ancienne révision du document !
symfony console make:user
Fichiers créés :
Création | src/Entity/User.php |
Création | src/Repository/UserRepository.php |
Mise à jour | config/packages/security.yaml |
Propriétés de l'entité :
Nom | Type | Longueur | Nullable |
---|---|---|---|
string | 255 | Non | |
username | string | 255 | Non |
roles | simple_array | Non | |
password | string | 255 | Non |
Ensuite pour ajouter d'autres champs à l'entité, il suffit de refaire la commande
symfony console make:entity
sur l'entité User et ajouter les champs supplémentaires.
Créer une migration :
symfony console make:migration
Appliquer la migration :
symfony console doctrine:migrations:migrate
AVANT D'APPLIQUER CETTE FIXTURE, IL FAUT D'ABORD AVOIR CONFIGURÉ L'ENCODAGE DES MOTS DE PASSE !!!
<?php namespace App\DataFixtures; use App\Entity\User; use Doctrine\Bundle\FixturesBundle\Fixture; use Doctrine\Common\Persistence\ObjectManager; use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface; class UserFixtures extends Fixture { private $encoder; public function __construct(UserPasswordEncoderInterface $encoder) { $this->encoder = $encoder; } public function load(ObjectManager $manager) { $user = new User(); $user->setUserName('Bubule'); $user->setEmail('bubule@mail.com'); $user->setPassword($this->encoder->encodePassword($user, 'testtest')); $user->setRoles(['ROLE_USER', 'ROLE_ADMIN']); $manager->persist($user); $manager->flush(); } }
Pour rappel, appliquer les fixtures se fait par cette commande :
php bin/console doctrine:fixtures:load