Membina aplikasi API Markdown Micro dengan Lumen
Feb 17, 2025 pm 12:37 PMlumen: 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.
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');
// 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]; } }
, dan mengembalikan hasil HTML sebagai respons JSON. Suntikan ketergantungan mengendalikan objek /parse
dan league/commonmark
. Facades (mis., CommonMarkConverter
Request
Membolehkan fasad, fasih, dan middleware Request::get('text')
. Uncomment garis -garis ini untuk membolehkan mereka:
// app/Http/routes.php $app->get('/parse', 'App\Http\Controllers\MarkdownController@parse');
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]; } }
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.
Atas ialah kandungan terperinci Membina aplikasi API Markdown Micro dengan Lumen. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

11 skrip pemendek URL terbaik PHP (percuma dan premium)

Bekerja dengan Data Sesi Flash di Laravel

6 kemahiran tambahan setiap pemaju PHP sepatutnya

Respons HTTP yang dipermudahkan dalam ujian Laravel

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST

12 skrip sembang php terbaik di codecanyon
