Tôi đọc tài liệu và có vẻ như Lumen là Laravel với ít tính năng hơn. Chắc chắn là tôi đang thiếu gì đó. Tôi đang tìm kiếm một bảng so sánh các thành phần và tính năng của cả Laravel và Lumen. Có ai biết sự khác biệt?
Tôi đọc tài liệu và có vẻ như Lumen là Laravel với ít tính năng hơn. Chắc chắn là tôi đang thiếu gì đó. Tôi đang tìm kiếm một bảng so sánh các thành phần và tính năng của cả Laravel và Lumen. Có ai biết sự khác biệt?
Câu trả lời:
Với phiên bản mới nhất của Lumen (5.2), Microframework tập trung vào API không trạng thái.
Các tài liệu nêu:
Lumen 5.2 đại diện cho một sự thay đổi trong việc giảm béo Lumen để chỉ tập trung vào việc phục vụ các API JSON không trạng thái. Như vậy, các phiên và lượt xem không còn được bao gồm trong khung. Nếu bạn cần quyền truy cập vào các tính năng này, bạn nên sử dụng khung công tác Laravel đầy đủ.
Lumen là tất cả về tốc độ . Nó nhanh hơn và có thể xử lý nhiều yêu cầu hơn mỗi giây so với Laravel.
Laravel là một khung kết hợp rất nhiều thành phần (các thành phần riêng của bên thứ 3 và của Laravels). Bây giờ Lumen sử dụng rất nhiều thành phần giống nhau, nhưng loại bỏ quá trình bootstrapping xuống mức tối thiểu. Bạn có thể nói nó là một "chất keo khác nhau", các thành phần (và do đó rất nhiều tính năng) hầu hết đều giống nhau.
Cải thiện hiệu suất đạt được bằng cách lấy đi một số tính linh hoạt của khung về cấu hình và thay đổi quy trình khởi động mặc định.
Bên cạnh đó, nhiều tính năng bị tắt theo mặc định và phải được kích hoạt trước khi chúng có thể được sử dụng. Ví dụ: Mặt tiền (như DB::table()
)
Trước tiên, bạn cần bỏ ghi chú dòng này bootstrap/app.php
để bật chúng:
// $app->withFacades();
Điều tương tự cũng xảy ra với các tệp môi trường Dotenv và Eloquent.
Để định tuyến Lumen sử dụng nikic / FastRoute thay vì bộ định tuyến symfonys vì nó hoạt động tốt hơn rất nhiều và cung cấp cho khung vi mô một bước tiến lớn khác.
Khác với điều đó khá nhiều, mọi thứ đều giống như trong Laravel.
Đọc tốt trên Lumen
Lumen không được thiết kế để thay thế Laravel, thay vào đó, nó là một khung chuyên dụng hơn (và tước bỏ) được thiết kế cho các dịch vụ vi mô và API. Nó đã lấy đi các tính năng không cần thiết cho một API như phiên HTTP và cookie và cũng giới hạn số lượng tùy chọn cấu hình. Ra khỏi hộp, Lumen đã hy sinh sự linh hoạt của Laravel cho tốc độ.
Tuy nhiên, bạn có thể thêm các thành phần Laravel vào Lumen để mở rộng nó, vì vậy nó có thể được sử dụng không chỉ cho các dịch vụ vi mô và API. Tuy nhiên, nếu mục tiêu của bạn là mở rộng Lumen để trở thành một trang web, bạn cũng có thể sử dụng Laravel thay thế.
Họ cũng có trường hợp sử dụng khác nhau. Lumen và Laravel có nghĩa là để làm việc cùng nhau. Đối với các API và dịch vụ thường xuyên được gọi, hãy sử dụng Lumen. Đối với các ứng dụng hướng tới người dùng, hãy sử dụng Laravel.
Câu trả lời này được lấy từ một bài đăng trên blog mà tôi đã viết giải thích sự khác biệt giữa Lumen và Laravel.
Trích dẫn từ Matt Stauffer
Lumen có cùng nền tảng với Laravel và nhiều thành phần giống nhau. Nhưng Lumen được xây dựng cho các dịch vụ siêu nhỏ, không nhiều cho các ứng dụng hướng tới người dùng (mặc dù nó có thể được sử dụng cho bất cứ thứ gì.) và có ít linh hoạt hơn để mở rộng và thay đổi các tệp bootstrap.
Bạn có thể đọc thêm ở đây
npm install
không phải là "hoàn toàn sẵn sàng" mà tôi muốn nói. Vì vậy, chúng tôi không mất nhiều liên quan đến những điều này, bằng cách chuyển sang Lumen. Trong Lumen, tôi chỉ cần tạo một gói.json và npm cài đặt Elixer, và thiết lập bower và thực hiện ...
redirect()->intended
. Tôi hy vọng Lumen sẽ bắt kịp trong các lĩnh vực này. Tôi thực sự thích một Laravel không có ORM (Eloquent) và vì vậy Lumen rất hấp dẫn tôi.
redirect()->intended()
API, đó là những gì Lumen tập trung vào.
Lumen microframework là một phiên bản nhẹ của khung công tác đầy đủ của Laravel. Lumen sử dụng cú pháp và các thành phần của Laravel và có thể dễ dàng 'nâng cấp' lên Laravel.
Lumen là một khung chuyên dụng hơn (và tước bỏ) được thiết kế để phát triển API và phát triển API. Vì vậy, một số tính năng trong Laravel như phiên HTTP, cookie và tạo khuôn mẫu là không cần thiết và Lumen sẽ loại bỏ chúng, giữ những gì cần thiết - định tuyến, ghi nhật ký, lưu trữ, xếp hàng, xác thực, xử lý lỗi và một vài tính năng khác.
Tại sao lại là Lumen?
Lumen là giải pháp hoàn hảo để xây dựng các dịch vụ vi mô dựa trên Laravel và API nhanh. Trên thực tế, đó là một trong những khung vi mô nhanh nhất hiện có. Chưa bao giờ việc viết các dịch vụ nhanh đến mức đáng kinh ngạc để hỗ trợ các ứng dụng Laravel của bạn chưa bao giờ dễ dàng hơn thế. Bác sĩ
Lumen là một khung để xây dựng các API, về cơ bản sẽ phục vụ các phản hồi JSON cho các yêu cầu của bạn. Đó là nó.
Những loại ứng dụng này được gọi là dịch vụ web nói chung .
Kể từ bản cập nhật Lumen 5.2, nó không hỗ trợ các chế độ xem laravel, các phiên, v.v ... mà bạn sẽ phải nâng cấp lên khung laravel đầy đủ.
Một số thành phần của khung công tác Laravel được hoán đổi với các gói khác có lợi cho hiệu năng. kiểm tra chúng ở đây
Các kịch bản ví dụ nơi chúng ta có thể xem xét Lumen
Sự khác biệt chính giữa laravel và lum là, Laravel có thể có các lệnh thủ công, mà lum không có.