Formation PUB030 : Laravel, 2019 Résumé MVC

9.1 Liens entre routes, contrôleurs et vues - pour mieux s'y retrouver


Si le fonctionnement d'un framework MVC est nouveau pour vous, il est possible que vous ayez du mal à vous y retrouver. Pour vous aider à y voir clair, voici un schéma qui montre le cheminement du traitement à partir d'un URL jusqu'à l'affichage d'une page Web.

▼Publicité Le texte se poursuit plus bas

  • On y voit, en rouge, que Laravel commence par rechercher une route qui correspond à l'URL (ici : « / »).
  • On y voit en bleu qu'ensuite, Laravel va appeler le contrôleur indiqué dans le « uses » de la route (ici : PagesController). Plus précisément, en vert, on voit le nom de la méthode d'action à exécuter dans ce contrôler (ici : accueil).
  • En rose, on voit que Laravel va afficher la vue mentionnée dans la méthode d'action. La vue doit être placée dans un sous-dossier de ressources/views (ici : pages) et porter le nom spécifié (ici : accueil).
  • C'est ainsi qu'on obtient à l'écran le visuel de l'URL demandé.

Remarquez que dans ce cheminement, le nom de la route, tel qu'indiqué dans le « as » de la route, n'est pas utilisé. Il trouvera son utilité dans un autre cheminement.

Liens entre routes, contrôleurs et vues

Voici un autre exemple. Cette fois, le cheminement partira de la vue pages.accueil affichée précédemment. Prenons le cas où l'usager clique sur le lien « Produits » affiché à l'écran.

  • On voit en rouge que Laravel commence par rechercher une route dont le « as » correspond au nom indiqué (ici : produits.index). Si jamais cette route n'existait pas, on obtiendrait une erreur.
  • En orange, on voit que Laravel se charge de changer l'URL pour celui demandé (ici : il ajoute « produits » à l'URL de base).
  • Parallèlement à cela, en vert, Laravel exécute une méthode d'action du contrôleur ProduitsController. Plus précisément, en bleu, il exécute la méthode index.
  • Après avoir retrouvé les données à partir du modèle dans la variable $produits, il charge la vue produits.index. Autrement dit, il recherche index.blade.php dans le dossier ressources/views/produits.

Liens entre routes, contrôleurs et vues

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Par Christiane Lagacé
Dernière révision le 25 mai 2018
Merci de partager !

Site fièrement hébergé chez A2 Hosting.

Soumettre