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:
<?php use League\CommonMark\CommonMarkConverter; if (! function_exists('markdownToHtml')) { function markdownToHtml($markdown) { $converter = new CommonMarkConverter(); return $converter->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" ] }
Nachdem Sie „composer.json“ geändert haben, generieren Sie die Composer-Autoload-Dateien neu, indem Sie Folgendes ausführen:
composer dump-autoload
Nachdem die Hilfsfunktion definiert und geladen wurde, können wir sie jetzt in den Blade-Vorlagen verwenden, um Markdown in HTML zu konvertieren:
<div> {!! markdownToHtml($post->description) !!} </div>
Dieses Tutorial soll zeigen, wie wir benutzerdefinierte Funktionen in Blade-Vorlagen verfügbar machen können.
Das obige ist der detaillierte Inhalt vonVerwenden von Hilfsfunktionen zum Konvertieren von Markdown in HTML in Laravel 11. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!