In diesem Tutorial erstellen wir eine Hilfsfunktion in einer Laravel-Anwendung, um Markdown-Inhalte mithilfe der League/Commonmark-Bibliothek in HTML zu konvertieren. Wir behandeln die Schritte zum Erstellen einer Hilfsdatei, zum Einbinden in unser Laravel-Projekt und zum Verwenden in einer Blade-Vorlage. Dieser Mechanismus wird in Laravel 11 verwendet, um Funktionen global verfügbar zu machen.
Die Alternative besteht darin, die Markdown-Konvertierung im Controller durchzuführen, bevor die Daten an die Ansicht übergeben werden, sodass wir keine Hilfsdatei mehr erstellen müssen:
use League\CommonMark\CommonMarkConverter; public function show($id) { $course = Course::find($id); $converter = new CommonMarkConverter(); $post->description = $converter->convertToHtml($post->description); return view('post.show', compact('post')); }
Zuerst installieren wir die League/Commonmark-Bibliothek über Composer:
composer require league/commonmark
Als nächstes erstellen wir eine Datei „helpers.php“, um unsere Hilfsfunktion zu definieren. Diese Datei kann im App-Verzeichnis oder an einem anderen bevorzugten Ort abgelegt werden.
touch app/helpers.php
Öffnen Sie app/helpers.php und fügen Sie den folgenden Inhalt hinzu:
convertToHtml($markdown); } }
Um sicherzustellen, dass Laravel die Datei „helpers.php“ automatisch lädt, müssen wir die Datei „composer.json“ ändern, um den Pfad zu „helpers.php“ im Abschnitt „Autoload“ hinzuzufügen:
"autoload": { "files": [ "app/helpers.php" ] }
Generieren Sie nach dem Ändern von „composer.json“ die Composer-Autoload-Dateien neu, indem Sie Folgendes ausführen:
composer dump-autoload
Da die Hilfsfunktion definiert und geladen ist, können wir sie jetzt in den Blade-Vorlagen verwenden, um Markdown in HTML zu konvertieren:
{!! markdownToHtml($post->description) !!}
Dieses Tutorial soll zeigen, wie wir benutzerdefinierte Funktionen in Blade-Vorlagen verfügbar machen können.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3