Saya membaca dokumentasinya dan sepertinya Lumen Laravel dengan lebih sedikit fitur. Saya pasti melewatkan sesuatu. Saya mencari tabel perbandingan komponen dan fitur Laravel dan Lumen. Adakah yang tahu perbedaannya?
Saya membaca dokumentasinya dan sepertinya Lumen Laravel dengan lebih sedikit fitur. Saya pasti melewatkan sesuatu. Saya mencari tabel perbandingan komponen dan fitur Laravel dan Lumen. Adakah yang tahu perbedaannya?
Jawaban:
Dengan versi terbaru Lumen (5.2) Microframework berfokus pada API Stateless.
The dokumentasi menyatakan:
Lumen 5.2 mewakili perubahan pada pelangsingan Lumen untuk fokus hanya pada penyajian API JSON yang tanpa kewarganegaraan. Dengan demikian, sesi dan pandangan tidak lagi termasuk dalam kerangka kerja. Jika Anda membutuhkan akses ke fitur-fitur ini, Anda harus menggunakan kerangka Laravel penuh.
Lumen adalah tentang kecepatan . Ini lebih cepat dan dapat menangani lebih banyak permintaan per detik daripada Laravel.
Laravel adalah kerangka kerja yang merekatkan banyak komponen (komponen pihak ketiga dan Laravel sendiri). Sekarang Lumen menggunakan banyak komponen yang sama, tetapi mengurangi proses bootstrap ke minimum. Bisa dibilang itu adalah "lem berbeda", komponennya (dan karenanya banyak fiturnya) kebanyakan sama.
Peningkatan kinerja dicapai dengan menghilangkan fleksibilitas kerangka kerja dalam hal konfigurasi dan mengubah proses boot default.
Selain itu, lebih banyak fitur dinonaktifkan secara default dan harus diaktifkan sebelum dapat digunakan. Sebagai contoh: Fasad (seperti DB::table()
)
Anda pertama kali harus menghapus komentar pada baris ini bootstrap/app.php
untuk mengaktifkannya:
// $app->withFacades();
Hal yang sama berlaku untuk file lingkungan Dotenv dan Eloquent.
Untuk routing, Lumen menggunakan nikic / FastRoute daripada router symfonys karena performanya jauh lebih baik dan memberikan kerangka kerja mikro dorongan besar lainnya.
Selain itu hampir semuanya sama seperti di Laravel.
Bacaan bagus di Lumen
Lumen tidak dirancang untuk menggantikan Laravel, melainkan, itu adalah kerangka kerja yang lebih khusus (dan dipreteli) yang dirancang untuk layanan mikro dan API. Itu menghilangkan fitur yang tidak dibutuhkan untuk API seperti sesi HTTP dan cookie, dan juga membatasi jumlah opsi konfigurasi. Out-of-the-box, Lumen mengorbankan fleksibilitas Laravel untuk kecepatan.
Namun, Anda dapat menambahkan komponen Laravel ke Lumen untuk memperluasnya, sehingga dapat digunakan untuk lebih dari sekedar layanan mikro dan API. Namun, jika tujuan Anda adalah memperluas Lumen menjadi situs web, Anda sebaiknya menggunakan Laravel sebagai gantinya.
Mereka juga memiliki kasus penggunaan yang berbeda. Lumen dan Laravel dimaksudkan untuk bekerja bersama. Untuk API dan layanan sering dipanggil, gunakan Lumen. Untuk aplikasi yang menghadap pengguna, gunakan Laravel.
Jawaban ini diambil dari posting blog yang saya tulis yang menjelaskan perbedaan antara Lumen dan Laravel.
Kutipan dari Matt Stauffer
Lumen memiliki fondasi yang sama dengan Laravel, dan banyak komponen yang sama. Tapi Lumen dibangun untuk layanan microser, tidak begitu banyak untuk aplikasi yang menghadap pengguna (meskipun dapat digunakan untuk apa saja.) Dengan demikian, antarmuka frontend seperti Bootstrap dan Elixir dan sesi bootstrap dan sesi otentikasi tidak diaktifkan di luar kotak, dan ada sedikit fleksibilitas untuk memperluas dan mengubah file bootstrap.
Anda dapat membaca lebih lanjut di sini
npm install
"out-of-the-box" yang tidak lengkap sehingga saya tidak siap. Jadi kami tidak kehilangan banyak dalam hal ini, dengan beralih ke Lumen. Di Lumen, saya hanya membuat package.json dan npm menginstal Elixer, dan setup bower dan selesai ...
redirect()->intended
. Saya berharap Lumen akan menyusul di daerah ini. Saya sangat suka Laravel tanpa ORM (Eloquent) dan Lumen sangat menarik bagi saya.
redirect()->intended()
dengan API, yang menjadi fokus Lumen.
Lumen microframework adalah versi ringan dari kerangka penuh tumpukan Laravel. Lumen menggunakan sintaks dan komponen Laravel, dan dapat 'ditingkatkan' dengan mudah ke Laravel.
Lumen adalah kerangka kerja yang lebih khusus (dan dilucuti) yang dirancang untuk pengembangan Microservices dan pengembangan API. Jadi, beberapa fitur di Laravel seperti sesi HTTP, cookie, dan templating tidak diperlukan dan Lumen mengambilnya, menjaga hal-hal yang penting - perutean, logging, caching, antrian, validasi, penanganan kesalahan, dan beberapa lainnya.
Mengapa lumen
Lumen adalah solusi sempurna untuk membangun layanan mikro berbasis Laravel dan API yang sangat cepat. Bahkan, ini adalah salah satu kerangka kerja mikro tercepat yang ada. Tidak pernah semudah ini untuk menulis layanan yang luar biasa cepat untuk mendukung aplikasi Laravel Anda. Dokter
Lumen adalah kerangka kerja untuk membangun API, yang pada dasarnya akan melayani respons JSON untuk permintaan Anda. Itu dia.
Aplikasi semacam ini dikenal sebagai layanan web pada umumnya .
Pada pembaruan Lumen 5.2, itu tidak mendukung tampilan laravel, sesi, dll ... untuk itu Anda harus meningkatkan ke framework laravel penuh.
Beberapa komponen kerangka Laravel ditukar dengan paket lain yang mendukung kinerja. periksa di sini
Contoh skenario di mana kita dapat mempertimbangkan Lumen
Perbedaan utama antara laravel dan lumen adalah, Laravel dapat memiliki perintah artisan, yang tidak dimiliki lumen.