Doctrine¶
1. Création de l'entité Quote¶
L'objectif de ce TP est de stocker les citations en base de données (MySQL ou MariaDB) via Doctrine.
Travail à réaliser
- Configurer votre projet pour utiliser une base de données MySQL ou MariaDB
- Ajouter une entité
Quote
en utilisant la commande Symfonymake:entity
avec :content
: obligatoire et non videmeta
: obligatoire et non vide
- Générer une migration puis exécutez-la
Attention
Chaque changement dans la base de données devra être géré via une migration.
Une fois la migration exécutée, vous devriez obtenir la table suivante :
2. Création jeu de données¶
Créer un jeu de données pour les citations.
Travail à réaliser
- Installer le bundle DoctrineFixturesBundle
- Installer le paquet Foundry
- Créer une classe de fixtures
QuoteFixtures
pour ajouter au moins 5 citations en base de données
3. Modification liste et recherche¶
Maintenant que nous avons l'entité Quote
et la table correspondante en base de données, nous allons pouvoir l'utiliser dans notre application.
Travail à réaliser
Modifier la liste des citations et la recherche pour remplacer le tableau PHP + filtrage par une requête Doctrine.
4. CRUD de citations¶
Le but est de mettre en place un CRUD (Create Read Update Delete) en ajoutant les actions suivantes :
- ajouter une citation (URL
/quote/new
) - modifier une citation (URL
/quote/12/edit
) - supprimer une citation (URL
/quote/12/delete
)
Travail à réaliser
- Ajouter les actions pour la création et l'édition d'une citation avec un formulaire permettant de saisir le contenu et la meta d'une citation
- Ajouter l'action pour la suppression d'une citation
- Intégrez des liens pour éditer ou supprimer chaque citation lors de son affichage
- Ajoutez une entrée dans la NavBar pour insérer une nouvelle citation
Attention
Les formulaires devront être réalisés en HTML sans le composant Form
de Symfony.
Utiliser ParamConverter
pour récupérer une entité Quote
.
Ressources :