Belgeleri okudum ve Lumen daha az özelliklere sahip Laravel gibi görünüyor. Bir şey eksik olmalıyım. Hem Laravel hem de Lumen'in bileşenlerinin ve özelliklerinin bir karşılaştırma tablosunu arıyorum. Farkları bilen var mı?
Belgeleri okudum ve Lumen daha az özelliklere sahip Laravel gibi görünüyor. Bir şey eksik olmalıyım. Hem Laravel hem de Lumen'in bileşenlerinin ve özelliklerinin bir karşılaştırma tablosunu arıyorum. Farkları bilen var mı?
Yanıtlar:
Lumen'in (5.2) en son sürümü ile Mikroçerçeve, Durum Bilgisi Olmayan API'lara odaklanır. Dokümantasyon durumları:
Lümen 5.2, Lümen'in yalnızca vatansız, JSON API'lerine odaklanmak için zayıflamadaki bir kaymayı temsil eder. Bu nedenle, oturumlar ve görüşler artık çerçeveye dahil edilmemiştir. Bu özelliklere erişmeniz gerekiyorsa, tam Laravel çerçevesini kullanmalısınız.
Lümen tamamen hız demektir . Laravel'den daha hızlıdır ve saniyede daha fazla istek işleyebilir.
Laravel, birçok bileşeni (3. taraf ve Laravels kendi bileşenlerini) bir araya getiren bir çerçevedir. Şimdi Lumen aynı bileşenlerin çoğunu kullanıyor, ancak önyükleme işlemini en aza indiriyor. Bunun "farklı bir yapıştırıcı" olduğunu söyleyebilirsin, bileşenler (ve dolayısıyla birçok özellik) çoğunlukla aynıdır.
Performans artışı, yapılandırma açısından çerçevenin esnekliğinin bir kısmının kaldırılması ve varsayılan önyükleme sürecinin değiştirilmesi ile elde edilir.
Bunun yanı sıra, daha fazla özellik varsayılan olarak devre dışıdır ve kullanılmadan önce etkinleştirilmesi gerekir. Örnek olarak: Cepheler (gibi DB::table()
)
Bunları bootstrap/app.php
etkinleştirmek için önce bu satırı açmanız gerekir :
// $app->withFacades();
Aynı durum Dotenv ortam dosyaları ve Eloquent için de geçerlidir.
Yönlendirme için Lumen , symfonys yönlendirici yerine nikic / FastRoute kullanır, çünkü çok daha iyi performans gösterir ve mikro çerçeveye başka bir büyük destek verir.
Bunun dışında her şey Laravel'deki ile aynı.
Lümen hakkında iyi okumalar
Lümen Laravel'in yerini almak için tasarlanmamıştır, bunun yerine mikro hizmetler ve API'ler için tasarlanmış daha uzmanlaşmış (ve soyulmuş) bir çerçevedir. HTTP oturumları ve çerezler gibi bir API için gereksiz özellikleri aldı ve ayrıca yapılandırma seçeneklerinin sayısını sınırladı. Kutudan çıkan Lumen, Laravel'in hız esnekliğini feda etti.
Ancak, o kadar, onu uzatmak Lumen laravel bileşenleri ekleyebilir olabilir sadece mikro hizmetler ve API fazla kullanılabilir. Ancak hedefiniz Lumen'i bir web sitesi olacak şekilde genişletmekse, bunun yerine Laravel'i de kullanabilirsiniz.
Ayrıca farklı kullanım durumları vardır. Lümen ve Laravel birlikte çalışmak içindir. API'ler ve hizmetler sıklıkla aranırsa Lumen'i kullanın. Kullanıcıya dönük uygulamalar için Laravel kullanın.
Bu cevap, Lumen ve Laravel arasındaki farkı açıklayan bir blog yazısından alınmıştır.
Matt Stauffer'dan Alıntı
Lümen Laravel ile aynı temele ve aynı bileşenlerin çoğuna sahiptir. Ancak Lumen, mikro servisler için üretilmiştir, kullanıcılara yönelik uygulamalar için çok fazla değildir (her şey için kullanılabilir.) Bu nedenle, Bootstrap ve Elixir gibi ön uç özellikleri ve kimlik doğrulama önyükleme ve oturumları kutudan çıkarılmaz, ve bootstrap dosyalarını genişletme ve değiştirme konusunda daha az esneklik var.
Daha fazlasını buradan okuyabilirsiniz
npm install
tamamen hazır değil "hazır" diyorum. Bu yüzden, Lümen'e geçerek bunlarla ilgili çok fazla kaybetmiyoruz. Lumen'de sadece bir paket oluşturuyorum. Json ve npm Elixer'i kuruyor ve bower'ı kuruyor ve yapıyorum ...
redirect()->intended
. Lümen'in bu alanlarda yetişmesini umuyorum. ORM (Eloquent) içermeyen bir Laravel'i gerçekten çok seviyorum ve bu yüzden Lumen bana çok çekici geliyor.
redirect()->intended()
Lumen'in odaklandığı bir API ile çok fazla kullanım görmüyorum .
Lümen mikroçerçeve, Laravel tam yığın çerçevesinin hafif bir versiyonudur. Lümen Laravel sözdizimini ve bileşenlerini kullanır ve Laravel'e kolayca 'yükseltilebilir'.
Lümen, Microservices geliştirme ve API geliştirme için tasarlanmış daha uzmanlaşmış (ve soyulmuş) bir çerçevedir. Bu nedenle Laravel'de HTTP oturumları, çerezler ve şablonlama gibi bazı özelliklere gerek yoktur ve Lumen bunları yönlendirir, günlüğe kaydetme, önbelleğe alma, kuyruklar, doğrulama, hata işleme ve diğer birkaç şeyi tutar.
Neden Lümen?
Lümen, Laravel tabanlı mikro hizmetler oluşturmak ve hızlı API'lar oluşturmak için mükemmel bir çözümdür. Aslında, mevcut en hızlı mikro çerçevelerden biridir. Laravel uygulamalarınızı desteklemek için şaşırtıcı derecede hızlı hizmetler yazmak hiç bu kadar kolay olmamıştı. doktor
Lumen, temel olarak istekleriniz için JSON yanıtları sunacak API'ler oluşturmak için bir çerçevedir. Bu kadar.
Bu tür uygulamalar genel olarak web servisleri olarak bilinir .
Lumen 5.2 güncellemesinden itibaren, laravel görünümlerini, oturumları vb. Desteklemiyor ... bunun için tam laravel çerçevesine yükseltmeniz gerekecek.
Laravel çerçevesinin bazı bileşenleri performans lehine diğer paketlerle değiştirilir. onları burada kontrol et
Lumen'i düşünebileceğimiz örnek senaryolar
Laravel ve lümen arasındaki temel fark, Laravel'in lümende olmayan esnaf komutları olabileceğidir.