Construire une application API Micro Markdown avec Lumen
Feb 17, 2025 pm 12:37 PMLumen: une alternative Laravel légère pour les microservices et les API
Ce tutoriel montre la construction d'une API d'analyse de marque à l'aide de Lumen, un micro-travail construit sur des composants illuminés de Laravel. Idéal pour les petites applications et services, la nature légère de Lumen assure des temps de démarrage rapides en chargeant sélectivement les composants. Nous tirons parti du package league/commonmark
pour l'analyse de marque.
Pourquoi choisir Lumen?
Lumen offre une approche rationalisée pour les développeurs déjà familiers avec la syntaxe et l'élégance de Laravel. Contrairement à l'architecture complète de Laravel, Lumen évite les composants inutiles (éloquent, lame, etc.), résultant en une empreinte d'application plus petite et plus rapide, parfaite pour les tâches focalisées.
Configuration du projet: une API d'analyse de marque
Notre application acceptera le texte Markdown en entrée et renvoie le HTML analysé en JSON. Cela présente les capacités de Lumen dans un contexte pratique. Le code complet est disponible sur github (lien omis, selon le texte d'origine).
Installation et dépendances
Utilisez le programme d'installation de Lumen (composer global require "laravel/lumen-installer=~1.0"
) pour la création rapide de projets (lumen new my-project
). Alternativement, utilisez le compositeur: composer create-project laravel/lumen my-project --prefer-dist
. Installez league/commonmark
avec composer require league/commonmark
.
Structure du répertoire
La structure Lean de Lumen omet initialement les dossiers comme config
, database
et resources
. Ceux-ci peuvent être ajoutés en utilisant des commandes d'artisan:
-
php artisan make foundation
: crée des dossiersresources
etdatabase
. -
php artisan make resources
: crée le dossierresources
. -
php artisan make database
: crée le dossierdatabase
. -
php artisan make lang
: crée le dossierresources/lang
. -
php artisan make views
: crée le dossierresources/views
.
Implémentation de l'analyseur Markdown
// app/Http/routes.php $app->get('/parse', 'App\Http\Controllers\MarkdownController@parse');
// app/Http/Controllers/MarkdownController.php namespace App\Http\Controllers; use Illuminate\Http\Request; use League\CommonMark\CommonMarkConverter; class MarkdownController extends Controller { public function parse(Request $request, CommonMarkConverter $parser) { $text = $request->get('text'); $result = $parser->convertToHtml($text); return ['html' => $result]; } }
Le point final /parse
reçoit du texte de marquage, l'analyse en utilisant league/commonmark
et renvoie le résultat HTML en tant que réponse JSON. L'injection de dépendance gère les objets CommonMarkConverter
et Request
. Les façades (par exemple, Request::get('text')
) peuvent être activées (voir ci-dessous).
Activer les façades, éloquents et middleware
Lumen comprend des façades, un orm éloquent et un middleware, mais ils sont initialement désactivés dans bootstrap/app.php
. Décommente ces lignes pour leur permettre:
// app/Http/routes.php $app->get('/parse', 'App\Http\Controllers\MarkdownController@parse');
Enregistrer les fournisseurs de services supplémentaires en utilisant $app->register('AppServiceProvider');
.
en utilisant l'API
Testez l'API à l'aide d'un outil comme Guzzle:
// app/Http/Controllers/MarkdownController.php namespace App\Http\Controllers; use Illuminate\Http\Request; use League\CommonMark\CommonMarkConverter; class MarkdownController extends Controller { public function parse(Request $request, CommonMarkConverter $parser) { $text = $request->get('text'); $result = $parser->convertToHtml($text); return ['html' => $result]; } }
Conclusion
Lumen fournit une alternative convaincante pour les petits projets, tirant parti des forces de Laravel tout en maintenant un profil léger. Sa facilité d'utilisation et son extensibilité en font un outil précieux pour les microservices et les API. La documentation complète offre plus de détails.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium)

Travailler avec les données de session Flash dans Laravel

6 compétences supplémentaires que chaque développeur PHP devrait avoir

Misque de réponse HTTP simplifié dans les tests Laravel

Construisez une application React avec un Laravel Back End: Partie 2, React

12 meilleurs scripts de chat PHP sur Codecanyon

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST
