Grüße! Ich bin Aneesh Sreedharan, CEO von 2Hats Logic Solutions. Bei 2Hats Logic Solutions widmen wir uns der Bereitstellung von technischem Fachwissen und der Lösung Ihrer Probleme in der Welt der Technologie. Unsere Blog-Seite dient als Ressource, in der wir Einblicke und Erfahrungen teilen und wertvolle Perspektiven auf Ihre Fragen bieten.
Laravel, ein beliebtes PHP-Webframework , ist mit einer leistungsstarken Template-Engine namens Blade ausgestattet. Blade bietet eine saubere und effiziente Möglichkeit, dynamische Webseiten durch die nahtlose Kombination von PHP und HTML zu erstellen. In diesem Handbuch konzentrieren wir uns auf Blade-Vorlagenlayouts, Abschnitte, Erweiterungslayouts, Renderansichten und mehr, was es zu einer umfassenden Ressource für Anfänger macht.
Erste Schritte mit Blade-Vorlagen
Mit der Blade-Templating-Engine von Laravel können Sie saubere, wartbare und dynamische Layouts für Ihre Webanwendungen erstellen. Es erleichtert das Schreiben ausdrucksstarker PHP-Ansichten, die die HTML-Struktur nahtlos mit Logik und Daten verknüpfen.
Was sind Blade-Layout-Dateien?
Layoutdateien legen die Grundstruktur fest, die Ihre einzelnen Ansichten übernehmen werden. Sie befinden sich normalerweise im Verzeichnis resources/views/layouts und enthalten die HTML-Elemente, die auf den Seiten Ihrer Anwendung konsistent bleiben. Betrachten Sie sie als wiederverwendbare Leinwand, auf die Sie Ihre einzigartigen seitenspezifischen Inhalte malen.
Hauptvorteile von Layouts
Wiederverwendbarkeit des Codes
Vermeiden Sie das Schreiben von sich wiederholendem HTML-Boilerplate-Code. Definieren Sie gemeinsame Elemente wie Kopfzeilen, Navigationsleisten und Fußzeilen einmal in einem Layout, und nachfolgende Ansichten übernehmen sie einfach durch Vererbung.
Konsistentes Design
Es gewährleistet ein zusammenhängendes Benutzererlebnis in Ihrer gesamten Anwendung, indem es durch konsistente Layouts ein einheitliches Erscheinungsbild erzwingt.
Trennung von Bedenken
Trennen Sie die Darstellung (was der Benutzer sieht) von der Logik (wie Daten verarbeitet werden). Layouts kümmern sich um die allgemeine Struktur, während sich Ansichtsdateien auf dynamische Inhalte konzentrieren, die auf bestimmten Routen oder Controllern basieren.
Wartbarkeit
An einem Layout vorgenommene Änderungen werden auf alle übernehmenden Ansichten übertragen, wodurch Sie Zeit und Mühe sparen und gleichzeitig eine einheitliche Ästhetik beibehalten.
Themenbezogene Anwendungen
Sie können ganz einfach verschiedene Themen erstellen, indem Sie Layouts austauschen und so Ihren Benutzern Flexibilität und Anpassungsoptionen bieten.
Erstellen Sie eine Blade-Vorlage
Blade-Vorlagen in Laravel haben die Dateierweiterung „.blade.php“ und befinden sich standardmäßig im Verzeichnis „resources/views“. Um Ihre erste Blade-Vorlage zu erstellen, erstellen Sie eine neue Datei, zum Beispiel „welcome.blade.php“, und beginnen Sie mit dem Schreiben Ihres HTML- und Blade-Syntax.
Grundlegende Struktur der Blade-Vorlage
1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>@yield('title', 'Laravel Blade')</title> </head> <body> <div class="container"> @yield('content') </div> </body> </html> |
Ertrag in Laravel
@yield in der Blade-Templating-Engine von Laravel ist eine Direktive, die im übergeordneten Layout verwendet wird, um anzugeben, wo Inhalte aus untergeordneten Ansichten eingefügt werden sollen. Es fungiert als Platzhalter. In der untergeordneten Ansicht wird @section verwendet, um Inhalte für bestimmte Abschnitte zu definieren, die dann beim Rendern an die entsprechende @yield-Direktive im Layout übergeben werden.
Erstellen einer Ansicht, die das Layout erweitert
1 2 3 4 5 6 7 8 9 | <!-- home.blade.php --> @extends('layout') @section('title', 'Home Page') @section('content') <h1>Welcome to the Home Page</h1> <p>This is the content of the home page.</p> @endsection |
@extends(‘layout’): Diese Zeile in der Datei home.blade.php gibt an, dass die Ansicht home.blade.php das Layout layout.blade.php erweitert oder davon erbt. Mit anderen Worten: Die Datei „home.blade.php“ verwendet die in der Datei „layout.blade.php“ definierte Struktur und den Inhalt als Basislayout.
@section und @endsection: Diese Direktiven werden verwendet, um Abschnitte innerhalb des Layouts zu definieren, die mit bestimmten Inhalten aus der Erweiterungsansicht (in diesem Fall home.blade.php) gefüllt werden können.
@section: Markiert den Anfang eines Abschnitts.
@endsection: Markiert das Ende eines Abschnitts.
Ansichten rendern und Teilansichten einbeziehen
Sie können die Funktion „Ansicht“ verwenden, um Blade-Ansichten von Ihren Routen oder Controllern zu rendern. Darüber hinaus können Sie mit Blade Teilansichten mithilfe der Direktive „@include“ einschließen.
Eine Ansicht rendern
1 2 3 4 5 6 7 8 9 | ```php // routes/web.php Route::get('/', function () { return view('home'); });<span id="mce_marker" data-mce-type="bookmark" data-mce-fragment="1"></span> |
Einschließlich einer Teilansicht
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <!-- layout.blade.php --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>@yield('title', 'Laravel Blade')</title> </head> <body> <div class="container"> @yield('content') <div class="sidebar"> @include('partials.sidebar') </div> </div> </body> </html> |
Abschluss
Blade-Vorlagen in Laravel bieten eine leistungsstarke und ausdrucksstarke Möglichkeit, dynamische Webseiten zu erstellen. Dieses Handbuch bietet eine solide Grundlage für Anfänger und behandelt die Erstellung von Layouts, die Verwendung von Abschnitten, die Erweiterung von Layouts, das Rendern von Ansichten und das Einbeziehen von Teilansichten. Während Sie weiterhin mit Laravel arbeiten, können Sie erweiterte Blade-Funktionen erkunden, um Ihre Webentwicklungsfähigkeiten zu verbessern. Erwägen Sie die Nutzung von Laravel-Diensten , um Ihre Entwicklung zu beschleunigen und Expertenwissen für die Entwicklung leistungsstarker Web-Apps zu nutzen.
FAQ
Was ist der Zweck der Verwendung von Blade-Layouts in Laravel?
Blade-Layouts in Laravel dienen als Grundstruktur für Webseiten und ermöglichen es Entwicklern, gemeinsame Elemente wie Kopf- und Fußzeilen sowie Navigationsleisten an einem Ort zu definieren. Dies fördert die Wiederverwendbarkeit des Codes, die Konsistenz im Design und die Trennung der Belange zwischen Präsentation und Logik
Wie erstelle ich ein neues Blade-Vorlagenlayout in Laravel?
Um ein neues Blade-Vorlagenlayout zu erstellen, können Sie zunächst eine Datei „.blade.php“ im Verzeichnis „resources/views/layouts“ erstellen. Definieren Sie in dieser Datei die grundlegende HTML-Struktur, die von mehreren Ansichten gemeinsam genutzt wird, einschließlich Platzhaltern für dynamische Inhalte mithilfe von „@yield“-Anweisungen.
Kann ich das Layout für bestimmte Seiten oder Abschnitte meiner Laravel-Anwendung anpassen?
Ja, Sie können das Layout für bestimmte Seiten oder Abschnitte anpassen, indem Sie vorhandene Layouts mit der Direktive „@extends“ erweitern und mit den Direktiven „@section“ und „@endsection“ eindeutige Inhalte für jeden Abschnitt definieren. Dadurch können Sie eine konsistente Gesamtstruktur beibehalten und gleichzeitig inhaltliche Variationen berücksichtigen.
Was ist der Unterschied zwischen der Verwendung von „@yield“ und „@include“ in Blade-Vorlagen?
„@yield“ wird verwendet, um einen Platzhalter in einem Layout zu definieren, in den Inhalte aus untergeordneten Ansichten eingefügt werden, während „@include“ verwendet wird, um den Inhalt einer Teilansicht direkt in eine andere Ansicht oder ein anderes Layout einzubinden. Während „@yield“ normalerweise für dynamischen Inhalt verwendet wird, der für jede Seite spezifisch ist, ist „@include“ für wiederverwendbare Komponenten oder Teilbestandteile nützlich.
Wie kann ich Ansichten rendern und Teilansichten in meine Laravel-Anwendung einbinden?
Ansichten können mit der Funktion „view“ in Routen oder Controllern gerendert werden, wobei der Name der zu rendernden Blade-Vorlage angegeben wird. Teilansichten können mithilfe der „@include“-Direktive in Layouts oder andere Ansichten eingefügt werden und bieten so eine Möglichkeit, Komponenten über mehrere Seiten hinweg zu modularisieren und wiederzuverwenden.