Rumah > pembangunan bahagian belakang > tutorial php > Membina aplikasi API Markdown Micro dengan Lumen

Membina aplikasi API Markdown Micro dengan Lumen

William Shakespeare
Lepaskan: 2025-02-17 12:37:08
asal
432 orang telah melayarinya

lumen: Alternatif Laravel ringan untuk microservices dan API

Tutorial ini menunjukkan membina API parser markdown menggunakan Lumen, kerangka mikro yang dibina di atas komponen Laravel yang menerangi. Sesuai untuk aplikasi dan perkhidmatan kecil, sifat ringan Lumen memastikan masa boot yang cepat dengan komponen pemuatan selektif. Kami akan memanfaatkan pakej league/commonmark untuk parsing markdown.

Building a Micro Markdown API App with Lumen

mengapa memilih lumen?

Lumen menawarkan pendekatan yang diselaraskan untuk pemaju yang sudah biasa dengan sintaks dan keanggunan Laravel. Tidak seperti seni bina stack Laravel, Lumen mengelakkan komponen yang tidak perlu (fasih, bilah, dan lain-lain), menghasilkan jejak aplikasi yang lebih kecil, lebih cepat, sesuai untuk tugas-tugas yang difokuskan.

Persediaan Projek: API Parser Markdown

Permohonan kami akan menerima teks markdown sebagai input dan mengembalikan HTML yang dihuraikan sebagai JSON. Ini mempamerkan keupayaan Lumen dalam konteks praktikal. Kod Lengkap boleh didapati di GitHub (pautan ditinggalkan, seperti teks asal).

Pemasangan dan Ketergantungan

Gunakan pemasang lumen (

) untuk penciptaan projek cepat (

). Sebagai alternatif, gunakan komposer: composer global require "laravel/lumen-installer=~1.0". Pasang lumen new my-project dengan composer create-project laravel/lumen my-project --prefer-dist. league/commonmark composer require league/commonmark Struktur direktori

struktur lean Lumen pada mulanya menghilangkan folder seperti

,

, dan config. Ini boleh ditambah menggunakan arahan Artisan: database resources

    : mencipta
  • dan php artisan make foundation folder. resources database
  • : mencipta folder
  • . php artisan make resources resources
  • : mencipta folder
  • . php artisan make database database
  • : mencipta folder
  • . php artisan make lang resources/lang
  • : mencipta folder
  • . php artisan make views resources/views
  • Melaksanakan parser markdown

// app/Http/routes.php

$app->get('/parse', 'App\Http\Controllers\MarkdownController@parse');
Salin selepas log masuk
Salin selepas log masuk
// 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];
    }
}
Salin selepas log masuk
Salin selepas log masuk
endpoint menerima teks markdown, memusnahkannya menggunakan

, dan mengembalikan hasil HTML sebagai respons JSON. Suntikan ketergantungan mengendalikan objek /parse dan league/commonmark. Facades (mis., ) boleh diaktifkan (lihat di bawah). CommonMarkConverter Request Membolehkan fasad, fasih, dan middleware Request::get('text')

lumen termasuk fasad, fasih Orm, dan middleware, tetapi pada mulanya mereka dilumpuhkan dalam

. Uncomment garis -garis ini untuk membolehkan mereka:

// app/Http/routes.php

$app->get('/parse', 'App\Http\Controllers\MarkdownController@parse');
Salin selepas log masuk
Salin selepas log masuk

Daftar penyedia perkhidmatan tambahan menggunakan $app->register('AppServiceProvider');.

menggunakan API

menguji API menggunakan alat seperti Guzzle:

// 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];
    }
}
Salin selepas log masuk
Salin selepas log masuk

Kesimpulan

Lumen menyediakan alternatif yang menarik untuk projek yang lebih kecil, memanfaatkan kekuatan Laravel sambil mengekalkan profil ringan. Kemudahan penggunaan dan kelanjutan menjadikannya alat yang berharga untuk microservices dan API. Dokumentasi penuh menawarkan butiran lanjut.

Building a Micro Markdown API App with Lumen

Atas ialah kandungan terperinci Membina aplikasi API Markdown Micro dengan Lumen. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan