In Laravel speelt lay-out een belangrijke rol bij het bouwen van de gebruikersinterface voor een webtoepassing. Een lay-out vertegenwoordigt de algehele structuur van een webpagina, inclusief algemene secties zoals de header
, footer
en sidebar
. In dit artikel zullen we onderzoeken hoe u lay-outs kunt inbouwen Laravel om flexibele en onderhoudbare interfaces te creëren.
Laten we eerst een basislay-out voor onze website maken. Begin met het maken van een bestand met de naam app.blade.php
in de map. Dit bestand zal dienen als hoofdopmaak voor de gehele website. resources/views/layouts
Hier is een voorbeeldinhoud voor het app.blade.php
bestand:
<!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>
In deze lay-out gebruiken we de @yield
richtlijnen om dynamische secties binnen de lay-out te definiëren. @yield('title')
Hiermee kan het kind bijvoorbeeld de paginatitel overschrijven en instellen. Op dezelfde manier kan het kind de hoofdinhoud van de pagina invoegen. views @yield('content')
views
Zodra de lay-out is gemaakt, kunnen we kinderen maken die deze lay-out gebruiken. Om bijvoorbeeld een pagina met een vergelijkbare lay-out te maken, maakt u een bestand met de naam in de directory. Dit bestand breidt de lay-out uit en definieert specifieke inhoud voor de pagina: 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
In het bovenstaande voorbeeld gebruiken we de @extends
richtlijn om de app.blade.php
lay-out over te nemen. Vervolgens gebruiken we de richtlijn om de specifieke inhoud voor de secties en van de pagina @section
te definiëren. title
content
Ten slotte moeten we de routes definiëren om de URL's te koppelen aan de respectieve. views
In het bestand kun je bijvoorbeeld routes/web.php
de volgende routes toevoegen:
Route::get('/', function() {
return view('welcome');
});
Route::get('/about', function() {
return view('about');
});
In dit voorbeeld is de "/" URL gekoppeld aan de welcome.blade.php
view, terwijl de /about
URL is gekoppeld aan de about.blade.php
view.
Concluderend, door lay-outs in te bouwen, Laravel kunt u een gedeelde interface voor uw webtoepassing maken en gemeenschappelijke secties beheren, zoals de header
, footer
en sidebar
. Door lay-outs en child te gebruiken, kunt u flexibele en onderhoudbare interfaces bouwen in. views Laravel