Maison développement back-end tutoriel php Construire une application API Micro Markdown avec Lumen

Construire une application API Micro Markdown avec Lumen

Feb 17, 2025 pm 12:37 PM

Lumen: 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.

Building a Micro Markdown API App with Lumen

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 dossiers resources et database.
  • php artisan make resources: crée le dossier resources.
  • php artisan make database: crée le dossier database.
  • php artisan make lang: crée le dossier resources/lang.
  • php artisan make views: crée le dossier resources/views.

Implémentation de l'analyseur Markdown

// app/Http/routes.php

$app->get('/parse', 'App\Http\Controllers\MarkdownController@parse');
Copier après la connexion
Copier après la connexion
// 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];
    }
}
Copier après la connexion
Copier après la connexion

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');
Copier après la connexion
Copier après la connexion

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];
    }
}
Copier après la connexion
Copier après la connexion

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.

Building a Micro Markdown API App with Lumen

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Musée de deux points: Guide de localisation de Bungle Wasteland
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Musée de deux points: Guide de localisation de Bungle Wasteland
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium) 11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium) Mar 03, 2025 am 10:49 AM

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

Travailler avec les données de session Flash dans Laravel Travailler avec les données de session Flash dans Laravel Mar 12, 2025 pm 05:08 PM

Travailler avec les données de session Flash dans Laravel

6 compétences supplémentaires que chaque développeur PHP devrait avoir 6 compétences supplémentaires que chaque développeur PHP devrait avoir Feb 28, 2025 am 10:52 AM

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

Comprendre les tableaux en php Comprendre les tableaux en php Feb 28, 2025 am 10:53 AM

Comprendre les tableaux en php

Misque de réponse HTTP simplifié dans les tests Laravel Misque de réponse HTTP simplifié dans les tests Laravel Mar 12, 2025 pm 05:09 PM

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

Construisez une application React avec un Laravel Back End: Partie 2, React Construisez une application React avec un Laravel Back End: Partie 2, React Mar 04, 2025 am 09:33 AM

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

12 meilleurs scripts de chat PHP sur Codecanyon 12 meilleurs scripts de chat PHP sur Codecanyon Mar 13, 2025 pm 12:08 PM

12 meilleurs scripts de chat PHP sur Codecanyon

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST Mar 14, 2025 am 11:42 AM

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

See all articles