Chapitre 2 du parcours Symfony pour les devs PHP

La cave et le garde-manger

6 exercices · 1 080 XP · environ 2 h 45

Ce chapitre fait travailler : EntitéMappingDoctrineRepositoryInjection de dépendancesCommande consoleQueryBuilderDQLParamètrespersistSluggerManyToOneOneToManyRelationsDébogageschema:validate

Les exercices du chapitre

  1. Le grand livre de Bruna

    Exercice 1 · 150 XP · 5 objectifs vérifiés par des tests

    La réservation a fait un tabac : la taverne ne désemplit plus. Bruna veut enrichir sa carte chaque semaine, mais pour ajouter un plat, il faut… modifier le code. Inacceptable. Désormais, les plats vivront dans une base de données.

    EntitéMappingDoctrine

  2. La carte sort de la base

    Exercice 2 · 150 XP · 5 objectifs vérifiés par des tests

    L'entité Plat existe, la table aussi. Bruna a même écrit une commande pour remplir sa carte : app:charger-carte. À chaque chargement de l'aperçu, la console lance pour vous :

    RepositoryInjection de dépendancesCommande console

  3. Une requête sur mesure

    Exercice 3 · 150 XP · 5 objectifs vérifiés par des tests

    Les aventuriers fauchés se plaignent : impossible de savoir ce qu'on peut s'offrir avec six pièces d'or. Et Gorm aimerait que le « plat du jour » soit la spécialité la moins chère, pour attirer le chaland.

    QueryBuilderDQLParamètres

  4. Bruna invente un plat

    Exercice 4 · 180 XP · 5 objectifs vérifiés par des tests

    Bruna a une idée par jour, et elle en a assez de passer par le SQL de la console. Elle veut une page pour ajouter ses plats : /cuisine/nouveau-plat. Le formulaire est prêt, et la navigation y mène déjà (lien « Cuisine »).

    persistSlugger

  5. Chaque plat à sa place

    Exercice 5 · 200 XP · 5 objectifs vérifiés par des tests

    Avec les inventions de Bruna, la carte s'allonge… et plus personne ne s'y retrouve : le Grog du capitaine se glisse entre deux ragoûts. Gorm veut une carte rangée par catégorie : plats de résistance, accompagnements, boissons.

    ManyToOneOneToManyRelations

  6. 🐉 Boss : la cave inondée

    Exercice 6 · 250 XP · 5 objectifs vérifiés par des tests

    Une canalisation a cédé : la cave est sous l'eau, et Gorm a dû appeler du renfort. Devinez qui est venu « aider » ? Pipin. Depuis :

    Débogageschema:validate