腔:微量服务和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中文网其他相关文章!