나는 문서를 읽었고 Lumen은 기능이 적은 Laravel 인 것 같습니다. 뭔가 빠졌을 것입니다. Laravel과 Lumen의 구성 요소 및 기능에 대한 비교 테이블을 찾고 있습니다. 누구든지 차이점을 알고 있습니까?
나는 문서를 읽었고 Lumen은 기능이 적은 Laravel 인 것 같습니다. 뭔가 빠졌을 것입니다. Laravel과 Lumen의 구성 요소 및 기능에 대한 비교 테이블을 찾고 있습니다. 누구든지 차이점을 알고 있습니까?
답변:
최신 버전의 Lumen (5.2)에서는 Microframework가 Stateless API에 중점을 둡니다. 설명서 에는 다음
이 명시되어 있습니다.
Lumen 5.2는 상태 비 저장 JSON API 제공에만 집중하기 위해 Lumen 슬리밍의 전환을 나타냅니다. 따라서 세션과 뷰는 더 이상 프레임 워크에 포함되지 않습니다. 이러한 기능에 액세스해야하는 경우 전체 Laravel 프레임 워크를 사용해야합니다.
루멘은 속도에 관한 것 입니다. Laravel보다 더 빠르며 초당 더 많은 요청을 처리 할 수 있습니다.
Laravel은 많은 구성 요소 (타사 및 Laravels 자체 구성 요소)를 서로 연결하는 프레임 워크입니다. 이제 Lumen은 동일한 구성 요소를 많이 사용하지만 부트 스트랩 프로세스를 최소한으로 줄입니다. "다른 접착제"라고 말할 수 있으며 구성 요소 (따라서 많은 기능)는 대부분 동일합니다.
구성 측면에서 프레임 워크의 유연성 중 일부를 제거하고 기본 부팅 프로세스를 변경하면 성능이 향상됩니다.
그 외에도 기본적으로 더 많은 기능이 비활성화되어 있으며 사용하기 전에 활성화해야합니다. 예를 들어 : Facades (like DB::table()
) 먼저이
줄의 주석을 해제 bootstrap/app.php
하여 활성화하십시오.
// $app->withFacades();
Dotenv 환경 파일과 Eloquent도 마찬가지입니다.
루멘은 루팅 이 심포니 라우터 대신 nikic / FastRoute를 사용하여 성능이 훨씬 우수하고 마이크로 프레임 워크에 또 다른 큰 부스트를 제공합니다.
그 외에는 라 라벨과 거의 모든 것이 동일합니다.
루멘에 대한 좋은 읽을 거리
루멘은 라 라벨을 대체하기 위해 고안된 것이 아니라 마이크로 서비스 및 API를 위해 설계된보다 전문화 된 (제거 된) 프레임 워크입니다. HTTP 세션 및 쿠키와 같은 API에 불필요한 기능을 제거하고 구성 옵션의 수를 제한했습니다. 즉시 사용 가능한 Lumen은 속도를 위해 Laravel의 유연성을 희생했습니다.
그러나 Laravel 구성 요소를 Lumen에 추가하여 확장 할 수 있으므로 마이크로 서비스 및 API 이상의 용도로 사용할 수 있습니다. 그러나 루멘을 웹 사이트로 확장하는 것이 목표라면 라 라벨을 대신 사용할 수도 있습니다.
또한 사용 사례가 다릅니다. 루멘과 라 라벨은 함께 일하기위한 것입니다. API 및 서비스가 자주 호출되는 경우 Lumen을 사용하십시오. 사용자 용 응용 프로그램의 경우 Laravel을 사용하십시오.
이 답변은 내가 쓴 루멘과 라 라벨의 차이점을 설명 하는 블로그 게시물 에서 발췌 한 것입니다.
Matt Stauffer에서 인용
루멘은 라 라벨과 같은 기초를 가지고 있으며 많은 동일한 구성 요소를 가지고 있습니다. 그러나 루멘은 마이크로 서비스를 위해 만들어졌으며 사용자 용 애플리케이션에는 그다지 유용하지 않습니다 (물론 무엇이든 사용할 수 있습니다). 따라서 Bootstrap 및 Elixir와 같은 프론트 엔드 기능과 인증 부트 스트랩 및 세션은 기본적으로 제공되지 않습니다. 부트 스트랩 파일을 확장하고 변경하는 유연성이 떨어집니다.
redirect()->intended
. 루멘이이 지역을 따라 잡기를 바라고 있습니다. 나는 ORM (Eloquent)이없는 Laravel을 정말로 좋아하므로 Lumen은 나에게 매우 호소력이 있습니다.
redirect()->intended()
Lumen이 중점을 두는 API .
왜 루멘인가?
루멘은 라 라벨 기반의 마이크로 서비스 및 초고속 API를 구축하기위한 완벽한 솔루션입니다. 실제로 가장 빠른 마이크로 프레임 워크 중 하나입니다. Laravel 응용 프로그램을 지원하기 위해 놀랍도록 빠른 서비스를 작성하는 것이 결코 쉬운 적이 없었습니다. 문서
루멘은 API를 빌드하기위한 프레임 워크로, 요청에 대한 JSON 응답을 제공합니다. 그게 다야.
이러한 종류의 응용 프로그램은 일반적으로 웹 서비스라고합니다. 합니다.
Lumen 5.2 업데이트에서는 라 라벨보기, 세션 등을 지원하지 않으므로 풀 라 라벨 프레임 워크로 업그레이드해야합니다.
라 라벨 프레임 워크의 일부 구성 요소는 성능을 위해 다른 패키지와 교체됩니다. 여기에서 확인하십시오
루멘을 고려할 수있는 시나리오 예
라 라벨과 루멘의 주요 차이점은 라 라벨은 루멘에없는 장인 명령을 가질 수 있다는 것입니다.