Blade ist die Template-Sprache von Laravel. Sie erlaubt mehr als die meisten anderen, weil darin gewöhnliches PHP stehen darf.
- Blade
Die Template-Sprache des Frameworks Laravel, die Anweisungen mit einem vorangestellten Klammeraffen schreibt und PHP zulässt.
Beispiel: „In Blade lässt sich eine Vorlage von einer anderen ableiten und nur einzelne Abschnitte ersetzen.“Herkunft: englisch blade, die Klinge. Der Name passt zum Bild des Frameworks, dessen Werkzeuge nach Handwerkszeug benannt sind.
Mehr erlaubt als die anderen
Blade übersetzt die Vorlage in PHP und führt sie aus. Deshalb darf dort auch gewöhnlicher PHP-Code stehen, was Twig und Antlers bewusst verhindern.
Das ist Freiheit und Risiko zugleich. Wer sie nutzt, bekommt Logik in die Vorlage, die dort nicht hingehört, und am Ende kann sie niemand mehr pflegen außer einem Entwickler.
@extends('layouts.app')
@section('inhalt')
@foreach ($produkte as $produkt)
<h2>{{ $produkt->titel }}</h2>
@if ($produkt->bestand > 0)
<p>Lieferbar</p>
@endif
@endforeach
@endsectionVererbung von Vorlagen
Eine Vorlage kann von einer anderen abstammen und nur einzelne Abschnitte füllen. Das Grundgerüst steht damit an einer Stelle, und jede Seite liefert nur, was sie ändert.
Derselbe Gedanke wie bei der Vererbung zwischen Klassen, angewandt auf Vorlagen. Twig kennt ihn ebenfalls, Antlers löst es über Layouts.
Dass es auch hier maskiert
Die doppelten geschweiften Klammern geben einen Wert aus und maskieren ihn dabei. Wer bewusst Markup ausgeben will, braucht eine andere Schreibweise, und das ist richtig so: Die sichere Variante ist die kürzere.