首页 > 后端开发 > php教程 > 用管腔构建微型降低API应用

用管腔构建微型降低API应用

William Shakespeare
发布: 2025-02-17 12:37:08
原创
430 人浏览过

腔:微量服务和API的轻量级Laravel替代品

>

>本教程演示了使用Lumen建立降级解析器API,该灯具是一种基于Laravel Imphiminate组件的微型框架。 Lumen的轻质性质是小型应用和服务的理想选择,可通过选择性加载组件来确保快速启动时间。 我们将利用league/commonmark软件包进行宣传。

Building a Micro Markdown API App with Lumen

为什么选择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> resourcesdatabase:创建
  • >文件夹。
  • > php artisan make resourcesresources:创建
  • >文件夹。
  • > php artisan make database database实施Markdown Parser
  • php artisan make lang resources/lang>
  • 端点接收markdown文本,使用
  • 解析,并作为JSON响应返回HTML结果。依赖注入处理php artisan make viewsresources/views>对象。 可以启用立面(例如,
  • )(请参阅下文)。
>

启用立面,雄辩和中间件

// app/Http/routes.php

$app->get('/parse', 'App\Http\Controllers\MarkdownController@parse');
登录后复制
登录后复制
管腔包括外墙,雄辩的ORM和中间件,但最初在
// 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');>。

>利用API

使用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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板