Le chef cuisinier

Exercice 7 sur 8 du chapitre 1 · 150 XP · 5 objectifs vérifiés par des tests

Notions abordées : ServiceAutowiringInjection de dépendances

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.

Dans Symfony, la logique métier vit dans des services : de simples classes PHP que le conteneur crée pour vous et injecte là où on les demande.

Votre mission

  1. Complétez le service App\Service\Cuisine :
    • tousLesPlats() : la liste des plats, par slug (déplacez-y la constante PLATS du contrôleur) ;
    • plat(string $slug) : un plat, ou null s'il n'existe pas ;
    • platDuJour() : la spécialité de la maison.
  2. Faites utiliser la Cuisine par MenuController (carte et fiches) : le contrôleur ne doit plus contenir la liste des plats.
  3. Sur l'accueil, annoncez le plat du jour dans <p class="plat-du-jour">.

Rappel

Aucune configuration à écrire : grâce à l'autowiring, il suffit de typer un argument (Cuisine $cuisine) dans une action ou un constructeur pour que Symfony fournisse le service.