DEV Community

HugoDemont62
HugoDemont62

Posted on

Blade FR MMI

Salut et bienvenue dans ce cours sur Blade. Même si on ne va pas suivre exactement la documentation officielle de Blade, elle reste une bonne référence. Dans ton projet Instagram, tu vas retrouver différentes choses :

  1. config/blade.php : Ce fichier s'occupe de la configuration de Blade, le moteur de templates de Laravel. Il initialise le moteur de templates, définit les chemins vers les fichiers de vue et le cache, et enregistre l'extension de fichier pour les templates Blade.

  2. resources/views/index.blade.php : C'est la page d'accueil de ton application. Elle étend le layout app et définit une section content. Dans cette section, elle affiche un titre (qui est une variable passée à la vue), un message de bienvenue et un lien vers la page 2.

  3. resources/views/page2.blade.php : C'est une autre page de ton application. Elle étend également le layout app et définit une section content. Dans cette section, elle affiche un message indiquant que c'est la page 2.

  4. resources/views/layouts/app.blade.php : C'est le layout principal de ton application. Il contient la structure HTML de base de tes pages, y compris les balises <head> et <body>, et définit un emplacement (@yield('content')) où les vues individuelles peuvent insérer leur contenu.

Le fonctionnement global est le suivant : lorsque tu affiches une vue (par exemple, index ou page2), Blade cherche d'abord le fichier correspondant dans le répertoire des vues. Ensuite, il évalue ce fichier comme un template Blade, ce qui signifie qu'il remplace les directives Blade (comme @extends, @section, et {{ $variable }}) par leur équivalent PHP. Si la vue étend un layout, Blade remplace l'instruction @yield dans le layout par le contenu de la section correspondante de la vue. Enfin, le résultat est envoyé au navigateur.

Note que toutes les vues partagent le même layout (app), ce qui signifie qu'elles ont toutes la même structure de base. Cela permet d'éviter la duplication de code et de rendre l'application plus facile à maintenir.

Dans ton fichier index.php (à la racine), tu vérifies d'abord si une action a été définie dans l'URL. Si aucune action n'est définie, tu définis l'action par défaut sur "index". Ensuite, tu vérifies si l'action demandée existe dans le tableau $listeDesActions que tu as défini dans config/actions.php. Si l'action n'existe pas, tu affiches une page d'erreur 404. Si l'action existe, tu inclus le fichier PHP correspondant à cette action.

Dans le cas de l'action "index", le fichier PHP correspondant est actions/index.php. Dans ce fichier, tu définis une variable $monTitre et tu utilises le moteur de templates Blade pour afficher la vue "index" avec cette variable.

Voici comment tu pourrais réécrire le code de actions/index.php pour le rendre plus clair :

<?php

// Définir le titre de la page
$titreDeLaPage = "Mon super titre";

// Utiliser le moteur de templates Blade pour afficher la vue "index"
// Passer la variable titreDeLaPage à la vue
echo $blade->make("index", ["titre" => $titreDeLaPage])->render();

?>
Enter fullscreen mode Exit fullscreen mode

Dans ce code, j'ai simplement renommé la variable $monTitre en $titreDeLaPage pour rendre son but plus clair. J'ai également ajouté des commentaires pour expliquer ce que fait chaque ligne de code.

Top comments (0)