====== Création de l'entité User ======
===== Création de l'entité =====
symfony console make:user
* The name of the security user class: **User**
* Do you want to store user data in the database: **Yes**
* Enter a property name that will be the unique "display" name for the user: **email**
* Does this app need to hash/check user password? **yes**
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 ^
| id | integer |
| email | string |
| roles | json |
| password | string |
Ensuite pour ajouter d'autres champs à l'entité,
il suffit de refaire la commande
symfony console make:entity
Sélectionner l'entité **User**, et ajouter les champs supplémentaires.
===== Créer la table dans la DB =====
Créer une migration :
symfony console make:migration
Appliquer la migration :
symfony console doctrine:migrations:migrate
===== Fixtures =====
symfony console make:fixtures
^ Class name | UserFixtures |
encoder = $encoder;
}
public function load(ObjectManager $manager)
{
$user = new User();
$user->setEmail('bubule@email.com');
$user->setPassword($this->encoder->encodePassword($user, 'x'));
$user->setRoles(['ROLE_USER', 'ROLE_ADMIN']);
$manager->persist($user);
$manager->flush();
}
}
Appliquer les fixtures :
symfony console doctrine:fixtures:load