Przeczytałem dokumentację i wydaje się, że Lumen to Laravel z mniejszą liczbą funkcji. Coś mi brakuje. Szukam tabeli porównawczej składników i cech zarówno Laravela, jak i Lumen. Czy ktoś zna różnice?
Przeczytałem dokumentację i wydaje się, że Lumen to Laravel z mniejszą liczbą funkcji. Coś mi brakuje. Szukam tabeli porównawczej składników i cech zarówno Laravela, jak i Lumen. Czy ktoś zna różnice?
Odpowiedzi:
W najnowszej wersji Lumen (5.2) Microframework skupia się na bezstanowych interfejsach API.
W dokumentacji czytamy:
Lumen 5.2 stanowi zmianę w odchudzaniu Lumen, aby skupić się wyłącznie na obsłudze bezpaństwowych interfejsów API JSON. W związku z tym sesje i widoki nie są już uwzględnione w ramach. Jeśli potrzebujesz dostępu do tych funkcji, powinieneś użyć pełnego frameworku Laravel.
Lumen polega na szybkości . Jest szybszy i może obsłużyć więcej żądań na sekundę niż Laravel.
Laravel to framework, który skleja ze sobą wiele elementów (elementy zewnętrzne i własne Laravels). Teraz Lumen wykorzystuje wiele takich samych komponentów, ale ogranicza proces ładowania do minimum. Można powiedzieć, że jest to „inny klej”, komponenty (a zatem wiele funkcji) są w większości takie same.
Poprawę wydajności osiągnięto poprzez usunięcie części elastyczności frameworka w zakresie konfiguracji i zmianę domyślnego procesu rozruchu.
Poza tym więcej funkcji jest domyślnie wyłączonych i należy je aktywować, zanim będzie można z nich korzystać. Na przykład: Fasady (jak DB::table()
)
Najpierw musisz odkomentować tę linię, bootstrap/app.php
aby je włączyć:
// $app->withFacades();
To samo dotyczy plików środowiska Dotenv i Eloquent.
Do routingu Lumen używa nikic / FastRoute zamiast routera symfonys, ponieważ działa znacznie lepiej i daje mikrośrodowisku kolejny duży impuls.
Poza tym prawie wszystko jest takie samo jak w Laravel.
Dobra lektura na Lumen
Lumen nie jest przeznaczony do zastąpienia Laravela, jest raczej bardziej wyspecjalizowanym (i uproszczonym) środowiskiem zaprojektowanym dla mikrousług i interfejsów API. Odebrał niepotrzebne funkcje interfejsu API, takie jak sesje HTTP i pliki cookie, a także ograniczył liczbę opcji konfiguracji. Po wyjęciu z pudełka Lumen poświęcił elastyczność Laravela dla szybkości.
Możesz jednak dodać komponenty Laravel do Lumen, aby go rozszerzyć, dzięki czemu można go używać do więcej niż tylko mikro-usług i API. Jeśli jednak Twoim celem jest rozszerzenie Lumen na stronę internetową, równie dobrze możesz użyć Laravela.
Mają też różne przypadki użycia. Lumen i Laravel mają ze sobą współpracować. Aby często wywoływać interfejsy API i usługi, użyj Lumen. Do aplikacji zorientowanych na użytkownika użyj Laravel.
Ta odpowiedź pochodzi z wpisu na blogu , który wyjaśnia różnicę między Lumenem a Laravelem.
Cytat od Matta Stauffera
Lumen ma tę samą podstawę co Laravel i wiele takich samych składników. Ale Lumen został zbudowany z myślą o mikrousługach, nie tyle o aplikacjach zorientowanych na użytkownika (choć można go używać do wszystkiego). Jako takie, nakładki takie jak Bootstrap i Elixir oraz bootstrap uwierzytelniania i sesje nie są dostępne od razu po wyjęciu z pudełka, i jest mniej elastyczna przy rozszerzaniu i zmianie plików bootstrap.
Możesz przeczytać więcej tutaj
npm install
to nie jest całkowicie gotowe „po wyjęciu z pudełka”, powiedziałbym. Tak więc nie tracimy wiele w związku z tym, przechodząc na Lumen. W Lumen po prostu tworzę pakiet.json i npm instaluję Elixer, instaluję altanę i gotowe ...
redirect()->intended
. Mam nadzieję, że Lumen dogoni te obszary. Bardzo lubię Laravela bez ORM (Elokwentny), więc Lumen bardzo mnie pociąga.
redirect()->intended()
przypadku API, na czym skupia się Lumen.
Lumen micrrrrr to lekka wersja pełnego Laravela frameworka. Lumen korzysta ze składni i składników Laravela i może być łatwo „uaktualniony” do Laravela.
Lumen jest bardziej wyspecjalizowanym (i uproszczonym) środowiskiem zaprojektowanym do rozwoju Microservices i API. Tak więc niektóre funkcje Laravel, takie jak sesje HTTP, pliki cookie i szablony, nie są potrzebne, a Lumen je zabiera, zachowując to, co najważniejsze - routing, logowanie, buforowanie, kolejki, sprawdzanie poprawności, obsługę błędów i kilka innych.
Dlaczego Lumen?
Lumen to idealne rozwiązanie do budowy mikrousług opartych na Laravel i niezwykle szybkich interfejsów API. W rzeczywistości jest to jedna z najszybszych dostępnych mikrocząstek. Pisanie zadziwiająco szybkich usług do obsługi aplikacji Laravel nigdy nie było łatwiejsze. Doc
Lumen to platforma do tworzenia interfejsów API, która zasadniczo będzie obsługiwać odpowiedzi JSON na Twoje żądania. Otóż to.
Tego rodzaju aplikacje są ogólnie znane jako usługi sieciowe .
Od aktualizacji Lumen 5.2 nie obsługuje widoków laravel, sesji itp., W tym celu będziesz musiał zaktualizować do pełnej wersji laravel.
Niektóre komponenty frameworka Laravel są zamieniane z innymi pakietami na korzyść wydajności. sprawdź je tutaj
Przykładowe scenariusze, w których możemy rozważyć Lumen
Główną różnicą między laravelem a światłem jest to, że Laravel może mieć polecenia rzemieślnicze, których nie ma światło.