Lumen:マイクロサービスとAPIの軽量Laravelの代替品
このチュートリアルでは、Laravel照明コンポーネントに基づいて構築されたマイクロフレームワークであるLumenを使用して、マークダウンパーサーAPIの構築を示しています。 小規模なアプリケーションやサービスに最適なLumenの軽量性は、コンポーネントを選択的にロードすることで迅速な起動時間を保証します。 Markdown Parsingのために league/commonmark
なぜルーメンを選択しますか?
Lumenは、Laravelの構文と優雅さにすでに精通している開発者に合理化されたアプローチを提供します。 Laravelのフルスタックアーキテクチャとは異なり、Lumenは不要なコンポーネント(雄弁、ブレードなど)を避け、その結果、より小さく、より高速なアプリケーションフットプリントをもたらし、焦点を絞ったタスクに最適です。
当社のアプリケーションは、マークダウンテキストを入力として受け入れ、解析されたHTMLをJSONとして返します。 これは、ルーメンの機能を実用的なコンテキストで紹介します。 完全なコードはgithubで利用できます(元のテキストに従って、リンク省略)。
インストールと依存関係
クイックプロジェクトの作成(
)のために、Lumenインストーラー(
)を使用します。または、作曲家を使用してください:。
ディレクトリ構造composer global require "laravel/lumen-installer=~1.0"
Lumenのリーン構造は、最初はlumen new my-project
、composer create-project laravel/lumen my-project --prefer-dist
、league/commonmark
などのフォルダーを省略します。 これらは、職人コマンドを使用して追加できます:composer require league/commonmark
およびconfig
フォルダーを作成します。database
resources
php artisan make foundation
resources
:database
フォルダーを作成します。php artisan make resources
:resources
フォルダーを作成します。php artisan make database
:database
フォルダーを作成します。php artisan make lang
マークダウンパーサーの実装resources/lang
php artisan make views
resources/views
エンドポイントはマークダウンテキストを受信し、オブジェクトを処理します。 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]; } }
で無効になっています。 これらの行を有効にするためにこれらの行を除外する:/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にとって貴重なツールになります。 完全なドキュメントでは、詳細を提供しています。
以上がルーメンを使用したマイクロマークダウンAPIアプリの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。