Dans ce tutoriel nous allons découvrir les « layouts » Blade permettant d'ajouter des headers et des footers à nos vues.
Utilisation des includes
Les includes Blade, comme les includes PHP permettent d'inclure d'autres vues partielles dans nos vues. Nous pouvons utiliser la propriété @include('')
de Blade pour inclure une autre vue.
@include('header')
<div class="title m-b-md">
Bonjour
</div>
@include('footer')
Il ne nous reste plus qu'à créer deux fichiers ressources/views/header.blade.php
et ressources/views/footer.blade.php
et d'y mettre notre en-tête et notre pied de page.
Utilisation des layouts
Les layouts sont une fonctionnalités de Blade plus intéressante pour réaliser la même chose que précédemment avec les @include('')
. Un layout est une simple vue Blade, où nous ajoutons notre en-tête et notre pied de page à la suite. Nous ajoutons ensuite la propriété @yield('')
pour indiquer à Blade un emplacement où ajouter une certaine section. Vous pouvez avoir plusieurs @yield('')
dans un seul layout, chacun avec un nom différent.
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
@yield('contenu')
</body>
</html>
Nos vues utilisent ensuite ce layout grâce à la propriété @extends('nom-du-fichier-contenant-mon-layout')
si le fichier de mon layout est ressources/views/nom-du-fichier-contenant-mon-layout.blade.php
. Nous utilisons ensuite @section('')
et @endsection
pour indiquer à Laravel le contenu que nous souhaitons ajouter à la place du yield correspondant.
@extends('nom-du-fichier-contenant-mon-layout')
@section('contenu')
<div class="title m-b-md">
Bonjour
</div>
@endsection
Cela peut vous sembler complexe à première vue, mais ne vous inquiètez pas, nous allons utiliser ces fonctionnalités dans presque toutes nos vues, les termes deviendront donc très vites naturels.