Chapitre 11 du parcours Symfony pour les devs PHP
Les ordres du patron
6 exercices · 1 700 XP · environ 4 h
Commande console#[AsCommand]SymfonyStyle#[Option]Codes de sortieCommandTester#[Argument]Options booléennesValidatorInterfaceCommand::INVALIDMode interactif#[Ask]#[Interact]$io->choice()$io->confirm()--no-interactionTâche longueprogressIterate()--dry-runTraitement par lotstoIterable()VerbositéDébogageMode non interactif
Les exercices du chapitre
-
L'inventaire
Exercice 1 · 260 XP · 5 objectifs vérifiés par des tests
Gorm fait l'inventaire chaque matin, un parchemin à la main, en recopiant la carte plat par plat. Il voudrait taper une commande et tout avoir sous les yeux : les plats, leur catégorie, leur prix et les portions qui restent.
Commande console#[AsCommand]SymfonyStyle#[Option]Codes de sortieCommandTester
-
La commande de Bruna
Exercice 2 · 270 XP · 5 objectifs vérifiés par des tests
Bruna invente ses plats tard le soir, quand la salle est fermée. Plutôt que d'ouvrir le formulaire de la cuisine, elle voudrait les ajouter d'une seule ligne :
#[Argument]#[Option]Options booléennesValidatorInterfaceCommand::INVALID
-
Gorm pose les questions
Exercice 3 · 270 XP · 5 objectifs vérifiés par des tests
Gorm veut, lui aussi, ajouter des plats en ligne de commande. Mais il ne se souvient jamais de l'ordre des arguments, ni du nom exact des catégories. Il voudrait taper app:plat:ajouter, tout court, et que la commande lui pose les questions.
Mode interactif#[Ask]#[Interact]$io->choice()$io->confirm()--no-interaction
-
Le grand ménage
Exercice 4 · 280 XP · 5 objectifs vérifiés par des tests
Le registre grossit. Des réservations honorées ou annulées depuis des mois s'y entassent, et la page du registre ralentit. Gorm veut une commande de grand ménage, à lancer une fois par mois (et un jour, par une tâche planifiée).
Tâche longueprogressIterate()--dry-runTraitement par lotstoIterable()Verbosité
-
Tester les ordres
Exercice 5 · 280 XP · 5 objectifs vérifiés par des tests
Le grand ménage fonctionne. Mais une commande qui supprime des données, lancée chaque mois sans que personne ne la regarde, est exactement le genre de code dont on veut être sûr. Le jour où Pipin la « simplifiera », il faudra que les tests crient.
-
🐉 Boss : les ordres mal compris
Exercice 6 · 340 XP · 5 objectifs vérifiés par des tests
Pipin a relu les commandes de la taverne pour les rendre « plus prudentes ». Depuis :
DébogageCommande consoleCodes de sortieMode non interactifTraitement par lots