Chapitre 1 du parcours Symfony pour les devs PHP

Premiers pas à la taverne

8 exercices · 1 040 XP · environ 3 h · premier chapitre gratuit

Ce chapitre fait travailler : ContrôleurRouteTwigParamètre de route404Boucle TwigFiltresConditionsHéritage Twigincludepath()Query string#[MapQueryParameter]ValidationPOSTRedirectionMessages flashServiceAutowiringInjection de dépendancesDébogagePages d'erreurProfiler

Les exercices du chapitre

  1. La taverne ouvre ses portes

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

    Gorm, le tavernier du Dragon Ivre, en a assez de réciter sa carte à chaque aventurier qui pousse la porte. Il veut une page web. Vous êtes le seul à savoir coder dans la vallée : au travail !

    ContrôleurRouteTwig

  2. Le plat du jour

    Exercice 2 · 100 XP · 4 objectifs vérifiés par des tests

    La carte a du succès. Si bien que les aventuriers veulent maintenant tout savoir sur chaque plat avant de commander. Gorm a noté la liste des plats dans la constante MenuController::PLATS, chacun repéré par un identifiant d'URL (le slug).

    Paramètre de route404

  3. Les prix en pièces d'or

    Exercice 3 · 100 XP · 4 objectifs vérifiés par des tests

    Un gobelin comptable s'est plaint : la carte n'affiche pas les prix. Scandale. Gorm vous demande de refaire la carte en Twig, et d'y mettre en valeur ses spécialités.

    Boucle TwigFiltresConditions

  4. Une enseigne commune

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

    Les aventuriers arrivent sur /menu… mais la porte d'entrée de la taverne, /, mène au néant. Et d'une page à l'autre, impossible de naviguer. Il est temps d'accrocher une enseigne commune à toutes les pages.

    Héritage Twigincludepath()

  5. Combien d'aventuriers ?

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

    Samedi soir, la compagnie de l'Anneau a débarqué sans prévenir : neuf aventuriers, trois tables, zéro place. Gorm veut que l'on puisse réserver. Première étape : une page qui annonce la table selon le nombre de convives indiqué dans l'adresse, par exemple /reservation?personnes=4.

    Query string#[MapQueryParameter]Validation

  6. La réservation

    Exercice 6 · 150 XP · 4 objectifs vérifiés par des tests

    Annoncer la table, c'est bien. La réserver, c'est mieux. Gorm a dessiné le formulaire (déjà dans le template) : il envoie en POST un nom et un nombre de personnes. À vous d'écrire le traitement.

    POSTRedirectionMessages flash

  7. Le chef cuisinier

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

    Gorm embauche enfin un chef : Bruna, une naine qui refuse catégoriquement que la liste des plats traîne dans la salle (comprenez : dans le contrôleur). La cuisine, c'est son domaine.

    ServiceAutowiringInjection de dépendances

  8. 🐉 Boss : incident en cuisine

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

    Gorm est parti deux jours à la foire aux trolls et a confié le site à son neveu, Pipin. Pipin a « amélioré deux-trois trucs ». Résultat : plus rien ne marche, les aventuriers font la queue devant une page d'erreur, et un client jure avoir commandé une licorne grillée… qu'on lui a servie.

    DébogagePages d'erreurProfiler