Dans Laravel, la mise en page joue un rôle important dans la création de l'interface utilisateur d'une application Web. Une mise en page représente la structure globale d'une page Web, y compris les sections communes telles que header
, footer
et sidebar
. Dans cet article, nous allons explorer comment créer des mises en page Laravel pour créer des interfaces flexibles et maintenables.
Tout d'abord, créons une mise en page de base pour notre site Web. Commencez par créer un fichier nommé app.blade.php
dans le répertoire. Ce fichier servira de mise en page principale pour l'ensemble du site Web. resources/views/layouts
Voici un exemple de contenu pour le app.blade.php
fichier :
<!DOCTYPE html>
<html>
<head>
<title>@yield('title')</title>
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
</head>
<body>
<header>
<h1>Header</h1>
</header>
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
<main>
@yield('content')
</main>
<footer>
<p>Footer</p>
</footer>
<script src="{{ asset('js/app.js') }}"></script>
</body>
</html>
Dans cette mise en page, nous utilisons les @yield
directives pour définir des sections dynamiques dans la mise en page. Par exemple, @yield('title')
permet à l'enfant de remplacer et de définir le titre de la page. De même, permet à l'enfant d'insérer le contenu principal de la page. views @yield('content')
views
Une fois la mise en page créée, nous pouvons créer des enfants qui utilisent cette mise en page. Par exemple, pour créer une page avec une mise en page similaire, créez un fichier nommé dans le répertoire. Ce fichier étendra la mise en page et définira un contenu spécifique pour la page : views about
about.blade.php
resources/views
app.blade.php
about
@extends('layouts.app')
@section('title', 'About')
@section('content')
<h2>About Page</h2>
<p>This is the about us page.</p>
@endsection
Dans l'exemple ci-dessus, nous utilisons la @extends
directive pour hériter de la app.blade.php
mise en page. Ensuite, nous utilisons la @section
directive pour définir le contenu spécifique des sections title
et content
de la page.
Enfin, nous devons définir les routes pour lier les URL aux fichiers. views
Par exemple, dans le routes/web.php
fichier, vous pouvez ajouter les routes suivantes :
Route::get('/', function() {
return view('welcome');
});
Route::get('/about', function() {
return view('about');
});
Dans cet exemple, l'URL "/" est liée au welcome.blade.php
view, tandis que l' /about
URL est liée au about.blade.php
view.
En conclusion, la création de mises en page dans Laravel vous permet de créer une interface partagée pour votre application Web et de gérer des sections communes telles que header
, footer
et sidebar
. En utilisant des layouts et child, vous pouvez créer des interfaces flexibles et maintenables dans. views Laravel