Maison >développement back-end >tutoriel php >Utilisation de fonctions d'assistance pour convertir Markdown en HTML dans Laravel 11
Dans ce tutoriel, nous allons créer une fonction d'assistance dans une application Laravel pour convertir le contenu Markdown en HTML à l'aide de la bibliothèque league/commonmark. Nous aborderons les étapes pour créer un fichier d'aide, l'inclure dans notre projet Laravel et l'utiliser dans un modèle Blade. Ce mécanisme est utilisé dans Laravel 11 pour rendre les fonctions disponibles globalement.
L'alternative est de gérer la conversion Markdown dans le contrôleur avant de transmettre les données à la vue, nous n'avons donc plus besoin de créer un fichier d'assistance :
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')); }
Tout d'abord, nous installons la bibliothèque league/commonmark via Composer :
composer require league/commonmark
Ensuite, nous allons créer un fichier helpers.php pour définir notre fonction d'assistance. Ce fichier peut être placé dans le répertoire de l'application ou à tout autre emplacement préféré.
touch app/helpers.php
Ouvrez app/helpers.php et ajoutez le contenu suivant :
<?php use League\CommonMark\CommonMarkConverter; if (! function_exists('markdownToHtml')) { function markdownToHtml($markdown) { $converter = new CommonMarkConverter(); return $converter->convertToHtml($markdown); } }
Pour garantir que Laravel charge automatiquement le fichier helpers.php, nous devons modifier le fichier composer.json pour ajouter le chemin vers helpers.php sous la section autoload :
"autoload": { "files": [ "app/helpers.php" ] }
Après avoir modifié composer.json, régénérez les fichiers de chargement automatique de Composer en exécutant :
composer dump-autoload
Une fois la fonction d'assistance définie et chargée, nous pouvons désormais l'utiliser dans les modèles Blade pour convertir Markdown en HTML :
<div> {!! markdownToHtml($post->description) !!} </div>
Ce didacticiel est fourni pour montrer comment nous pouvons rendre des fonctions personnalisées disponibles dans les modèles de lame.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!