Base de données et entités
Installer Doctrine
Nous allons d'abord utiliser l'ORM Doctrine.
composer require symfony/orm-pack
composer require symfony/maker-bundle --dev
Créer la base de données
Dans le fichier .env, personnaliser la ligne DATABASE_URL
de cette façon par exemple (root
est l'utilisateur de base de données, et les guillemets sont le mot de passe vide) :
DATABASE_URL=mysql://root:''@127.0.0.1:3306/ma_jolie_base
Puis :
php bin/console doctrine:database:create
Qui aura pour effet de créer la base de données dans MySQL.
Créer une 1ère entité
php bin/console make:entity
Puis remplir les informations demandées (nom du 1er champ, taille, nullable). Ne créez pas de champ ID, en effet il sera automatiquement créé.
La classe de l'entité est le nom de la table. Les propriétés de l'entité sont ses champs.
Tapez une nouvelle fois Enter
quand vous avez fini. Symfony a généré un joli fichier du nom de votre entité dans le répertoire src/Entity, avec les getters et setters...
Mais la table correspondant n'est pas encore créée. Pour cela :
php bin/console make:migration
Puis :
php bin/console doctrine:migrations:migrate
Confirmez la création, et allez voir en BDD. Une jolie table est née !
À tous moment vous pouvez ajouter des champs dans votre entité, avec les mêmes commandes, en précisant l'exact même nom de classe. Symfony reconnaîtra votre table et y ajoutera les champs.