首頁 > 後端開發 > php教程 > 用管腔構建微型降低API應用

用管腔構建微型降低API應用

William Shakespeare
發布: 2025-02-17 12:37:08
原創
431 人瀏覽過

腔:微量服務和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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板