腔:微量服務和API的輕量級Laravel替代品
>>本教程演示了使用Lumen建立降級解析器API,該燈具是一種基於Laravel Imphiminate組件的微型框架。 Lumen的輕質性質是小型應用和服務的理想選擇,可通過選擇性加載組件來確保快速啟動時間。 我們將利用league/commonmark
軟件包進行宣傳。
為什麼選擇Lumen?
Lumen為已經熟悉Laravel的語法和優雅的開發人員提供了一種簡化的方法。 與Laravel的全棧體系結構不同,Lumen避免了不必要的組件(雄辯,刀片等),從而產生較小,更快的應用程序足跡,非常適合集中任務。>項目設置:Markdown解析器API
我們的應用程序將接受Markdown文本作為輸入,並將解析的HTML返回為JSON。 這在實際情況下展示了管腔的功能。 完整的代碼可在github上找到(根據原始文本省略鏈接)。
>安裝和依賴項>使用Lumen Installer(
)進行快速項目創建(
)。或者,使用Composer:。 使用composer global require "laravel/lumen-installer=~1.0"
>。 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
實施Markdown Parser php artisan make lang
resources/lang
> php artisan make views
和resources/views
>對象。 可以啟用立面(例如,啟用立面,雄辯和中間件
// 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]; } }
// app/Http/routes.php $app->get('/parse', 'App\Http\Controllers\MarkdownController@parse');
>使用$app->register('AppServiceProvider');
>。
使用Guzles之類的工具測試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中文網其他相關文章!