ホームページ > バックエンド開発 > PHPチュートリアル > ルーメンを使用したマイクロマークダウンAPIアプリの構築

ルーメンを使用したマイクロマークダウンAPIアプリの構築

William Shakespeare
リリース: 2025-02-17 12:37:08
オリジナル
433 人が閲覧しました

Lumen:マイクロサービスとAPIの軽量Laravelの代替品

このチュートリアルでは、Laravel照明コンポーネントに基づいて構築されたマイクロフレームワークであるLumenを使用して、マークダウンパーサーAPIの構築を示しています。 小規模なアプリケーションやサービスに最適なLumenの軽量性は、コンポーネントを選択的にロードすることで迅速な起動時間を保証します。 Markdown Parsingのためにパッケージを活用します

league/commonmark

なぜルーメンを選択しますか?Building a Micro Markdown API App with Lumen Lumenは、Laravelの構文と優雅さにすでに精通している開発者に合理化されたアプローチを提供します。 Laravelのフルスタックアーキテクチャとは異なり、Lumenは不要なコンポーネント(雄弁、ブレードなど)を避け、その結果、より小さく、より高速なアプリケーションフットプリントをもたらし、焦点を絞ったタスクに最適です。

プロジェクトのセットアップ:Markdown Parser API

当社のアプリケーションは、マークダウンテキストを入力として受け入れ、解析されたHTMLをJSONとして返します。 これは、ルーメンの機能を実用的なコンテキストで紹介します。 完全なコードはgithubで利用できます(元のテキストに従って、リンク省略)。

インストールと依存関係

クイックプロジェクトの作成(

)のために、Lumenインストーラー(

)を使用します。または、作曲家を使用してください:

ディレクトリ構造composer global require "laravel/lumen-installer=~1.0" Lumenのリーン構造は、最初はlumen new my-projectcomposer create-project laravel/lumen my-project --prefer-distleague/commonmarkなどのフォルダーを省略します。 これらは、職人コマンドを使用して追加できます:composer require league/commonmark

およびconfigフォルダーを作成します。database resources

    フォルダーを作成します。
  • php artisan make foundationresourcesdatabaseフォルダーを作成します。
  • php artisan make resourcesresourcesフォルダーを作成します。
  • php artisan make databasedatabaseフォルダーを作成します。
  • php artisan make langマークダウンパーサーの実装resources/lang
  • php artisan make views resources/viewsエンドポイントはマークダウンテキストを受信し、
  • を使用して解析し、JSON応答としてHTML結果を返します。依存関係噴射は、
および

オブジェクトを処理します。 Facades(例:

)を有効にすることができます(以下を参照) ファサード、雄弁、ミドルウェア
// 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];
    }
}
ログイン後にコピー
ログイン後にコピー
ルーメンにはファサード、雄弁なORM、ミドルウェアが含まれていますが、最初は

で無効になっています。 これらの行を有効にするためにこれらの行を除外する:/parse

// app/Http/routes.php

$app->get('/parse', 'App\Http\Controllers\MarkdownController@parse');
ログイン後にコピー
ログイン後にコピー

$app->register('AppServiceProvider');

を使用して追加のサービスプロバイダーを登録します

api

を使用しています

Guzzleのようなツールを使用してAPIをテストします:

// 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];
    }
}
ログイン後にコピー
ログイン後にコピー

結論

Lumenは、軽量プロファイルを維持しながらLaravelの強みを活用して、小規模なプロジェクトに魅力的な代替手段を提供します。 使いやすさと拡張性により、マイクロサービスとAPIにとって貴重なツールになります。 完全なドキュメントでは、詳細を提供しています。

Building a Micro Markdown API App with Lumen

以上がルーメンを使用したマイクロマークダウンAPIアプリの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート