Heim Backend-Entwicklung PHP-Tutorial Zusammenfassung der benutzerdefinierten Vorlagendirektiven im Laravel-Framework

Zusammenfassung der benutzerdefinierten Vorlagendirektiven im Laravel-Framework

Jul 05, 2018 pm 05:54 PM
laravel 指令 模板 自定义指令

Mit Blade können Sie Befehle anpassen. Sie können die Direktivenmethode verwenden, um Befehle zu registrieren. Der folgende Artikel fasst hauptsächlich relevante Informationen zu benutzerdefinierten Vorlagenanweisungen im Laravel-Framework zusammen. Der Artikel stellt sie ausführlich anhand von Beispielcode vor. Schauen wir uns das gemeinsam an

🎜>Einführung

Ich lerne kürzlich Laravel. Eine Möglichkeit, Vorlagen im Laravel-Framework zu verwenden, ist das Controller-Layout. Normalerweise schreiben wir es in der Ansichtsvorlage Complex Die Logik sieht chaotisch aus, daher kann die Verwendung benutzerdefinierter Vorlagenanweisungen Ihre Ansichtslogik vereinfachen und eleganteren Code schreiben. Laravel Blade ist eine Vorlagen-Engine, die ihre spezielle Syntax in PHP und HTML kompiliert. Aufgrund ihrer speziellen Syntax sind Direktiven beschönigte Funktionen, hinter denen sich chaotischer Code verbirgt. Vorlagen enthalten eine große Anzahl integrierter Anweisungen, wie z. B. @foreach/@if/@section/@extends usw. Die integrierten Anweisungen reichen aus, um ein einfaches Projekt zu erstellen, wenn Sie jedoch wiederholt komplexe Funktionen in den Code schreiben , und passen Sie dann die Vorlage an. Direktiven können Ihnen dabei helfen, Ihre Ansichtsstruktur zu optimieren.

Im Folgenden gibt es nicht viel zu sagen, werfen wir einen Blick auf die ausführliche Einführung.

Passen Sie eine einfache Vorlagenanweisung an

Der $expression-Parameter ist optional

\Blade::directive('directive_name', function ($expression) {
 return $expression;
});
Nach dem Login kopieren

Verwendung in der Ansichtsdemo

<p>@hello(&#39;World&#39;)</p>
Nach dem Login kopieren

Der Ort, an dem benutzerdefinierte Vorlagenanweisungen deklariert werden, AppServiceProvider.php

<?php
namespace App\Providers;
use Illuminate\Support\Facades\Blade;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
 /**
  * Perform post-registration booting of services.
  *
  * @return void
  */
 public function boot()
 {
  Blade::directive(&#39;hello&#39;, function ($expression) {
   return "<?php echo &#39;Hello &#39; . {$expression}; ?>";
  });
 }
 /**
  * Register bindings in the container.
  *
  * @return void
  */
 public function register()
 {
  //
 }
}
Nach dem Login kopieren

Auf diese Weise definierte Anweisungen werden erfolgreich geladen und können in jeder Vorlage verwendet werden

Notizen

Der erste Punkt

Sie können nicht direkt auf mehrere in der benutzerdefinierten Anweisung übergebene Parameter zugreifen und müssen diese durchlaufen

<p>@greet(&#39;Hi&#39;, &#39;Hammad&#39;)</p>
\Blade::directive(&#39;hello&#39;, function ($expression) {
 list($greet, $name) = explode(&#39;, &#39;, $expression);

 return "<?php echo {$greet} . &#39; &#39; . {$name}; ?>";
});
Nach dem Login kopieren

Wie array() list() ist dies keine Funktion, sondern eine Sprachstruktur

Zweiter Punkt

Denken Sie immer daran, die Ausgabe zu filtern, wenn Sie {{}} verwenden. Um zu verhindern, dass böswillige Benutzer JS-Code in die Site einfügen, müssen Sie HTML umgehen , Sie können Laravels eigene Funktion e() verwenden, die auch htmlentities() entspricht

\Blade::directive(&#39;hello&#39;, function ($expression) {
 return "<?php echo &#39;Hello &#39; . e({$expression}); ?>";
});
Nach dem Login kopieren

Der dritte Punkt

Jedes Mal, wenn Sie eine benutzerdefinierte Vorlagenanweisung hinzufügen oder ändern, müssen Sie zuerst die zwischengespeicherte Ansichtsvorlage löschen. Sie können Clear Artisan verwenden

php artisan view:clear
Nach dem Login kopieren

Neue Funktionen von Laravel 5.5

Bei der Verwendung benutzerdefinierter Vorlagendirektiven handelt es sich bei den meisten nur um Bedingungen, die von uns die Registrierung von drei unabhängigen erfordern Anweisungen, if/else/endif. Laravel 5.5 unterstützt derzeit vereinfachte bedingte Anweisungen. Im folgenden Beispiel kann die Vorlage beispielsweise admin/else/endadmin

public function boot()
{
 \Blade::if(&#39;admin&#39;, function () {
  return auth()->check() && auth()->user()->isAdmin();
 });
}
Nach dem Login kopieren

Zusammenfassung

Artikel, die Sie interessieren könnten:

Rekursive PHP-Implementierung der schnellen Sortierung Erklärung von Methodenbeispielen


Detaillierte Erläuterung des Methoden-Tutorials für die Git-Bereitstellung in PHP


Erklärung des von implementierten binären Suchalgorithmus PHP


Das obige ist der detaillierte Inhalt vonZusammenfassung der benutzerdefinierten Vorlagendirektiven im Laravel-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Vergleich der neuesten Versionen von Laravel und CodeIgniter Vergleich der neuesten Versionen von Laravel und CodeIgniter Jun 05, 2024 pm 05:29 PM

Die neuesten Versionen von Laravel 9 und CodeIgniter 4 bieten aktualisierte Funktionen und Verbesserungen. Laravel9 übernimmt die MVC-Architektur und bietet Funktionen wie Datenbankmigration, Authentifizierung und Template-Engine. CodeIgniter4 nutzt die HMVC-Architektur, um Routing, ORM und Caching bereitzustellen. In Bezug auf die Leistung sorgen das auf Dienstanbietern basierende Designmuster von Laravel9 und das leichte Framework von CodeIgniter4 für eine hervorragende Leistung. In praktischen Anwendungen eignet sich Laravel9 für komplexe Projekte, die Flexibilität und leistungsstarke Funktionen erfordern, während CodeIgniter4 für schnelle Entwicklung und kleine Anwendungen geeignet ist.

Was ist einsteigerfreundlicher: Laravel oder CodeIgniter? Was ist einsteigerfreundlicher: Laravel oder CodeIgniter? Jun 05, 2024 pm 07:50 PM

Für Anfänger bietet CodeIgniter eine sanftere Lernkurve und weniger Funktionen, deckt aber die Grundbedürfnisse ab. Laravel bietet einen größeren Funktionsumfang, weist jedoch eine etwas steilere Lernkurve auf. In Bezug auf die Leistung schneiden sowohl Laravel als auch CodeIgniter gut ab. Laravel verfügt über eine umfangreichere Dokumentation und aktive Community-Unterstützung, während CodeIgniter einfacher und leichtgewichtiger ist und über starke Sicherheitsfunktionen verfügt. Im praktischen Fall der Erstellung einer Blogging-Anwendung vereinfacht EloquentORM von Laravel die Datenmanipulation, während CodeIgniter mehr manuelle Konfiguration erfordert.

Laravel vs CodeIgniter: Welches Framework ist besser für große Projekte? Laravel vs CodeIgniter: Welches Framework ist besser für große Projekte? Jun 04, 2024 am 09:09 AM

Bei der Auswahl eines Frameworks für große Projekte haben Laravel und CodeIgniter jeweils ihre eigenen Vorteile. Laravel ist für Anwendungen auf Unternehmensebene konzipiert und bietet modularen Aufbau, Abhängigkeitsinjektion und einen leistungsstarken Funktionsumfang. CodeIgniter ist ein leichtes Framework, das sich eher für kleine bis mittelgroße Projekte eignet und Wert auf Geschwindigkeit und Benutzerfreundlichkeit legt. Für große Projekte mit komplexen Anforderungen und einer großen Anzahl von Benutzern sind die Leistung und Skalierbarkeit von Laravel besser geeignet. Für einfache Projekte oder Situationen mit begrenzten Ressourcen sind die leichten und schnellen Entwicklungsfunktionen von CodeIgniter idealer.

Laravel – Handwerkerbefehle Laravel – Handwerkerbefehle Aug 27, 2024 am 10:51 AM

Laravel – Artisan Commands – Laravel 5.7 bietet eine neue Möglichkeit, neue Befehle zu behandeln und zu testen. Es enthält eine neue Funktion zum Testen von Handwerkerbefehlen und die Demonstration wird unten erwähnt?

Laravel vs CodeIgniter: Welches Framework ist besser für kleine Projekte? Laravel vs CodeIgniter: Welches Framework ist besser für kleine Projekte? Jun 04, 2024 pm 05:29 PM

Für kleine Projekte eignet sich Laravel, für größere Projekte, die starke Funktionalität und Sicherheit erfordern. CodeIgniter eignet sich für sehr kleine Projekte, die geringes Gewicht und Benutzerfreundlichkeit erfordern.

Welche ist die bessere Template-Engine, Laravel oder CodeIgniter? Welche ist die bessere Template-Engine, Laravel oder CodeIgniter? Jun 03, 2024 am 11:30 AM

Vergleichen Sie Laravel's Blade und die Twig-Vorlagen-Engine von CodeIgniter und wählen Sie je nach Projektanforderungen und persönlichen Vorlieben: Blade basiert auf der MVC-Syntax, die eine gute Codeorganisation und Vorlagenvererbung fördert. Twig ist eine Bibliothek eines Drittanbieters, die flexible Syntax, leistungsstarke Filter, erweiterten Support und eine Sicherheits-Sandbox bietet.

Vergleich von C++-Vorlagen und Generika? Vergleich von C++-Vorlagen und Generika? Jun 04, 2024 pm 04:24 PM

Der Unterschied zwischen Vorlagen und Generika in C++: Vorlagen: zur Kompilierzeit definiert, klar typisiert, hohe Effizienz und kleine Codegröße. Generics: Laufzeittypisierung, abstrakte Schnittstelle, bietet Flexibilität, geringe Effizienz.

Laravel – Artisan-Konsole Laravel – Artisan-Konsole Aug 27, 2024 am 10:51 AM

Laravel – Artisan Console – Das Laravel-Framework bietet drei Haupttools für die Interaktion über die Befehlszeile, nämlich Artisan, Ticker und REPL. In diesem Kapitel wird Artisan ausführlich erläutert.

See all articles