ドキュメントを読んだところ、Lumenは機能が少ないLaravelのようです。私は何かを逃しているに違いない。LaravelとLumenのコンポーネントと機能の比較表を探しています。違いを知っている人はいますか?
ドキュメントを読んだところ、Lumenは機能が少ないLaravelのようです。私は何かを逃しているに違いない。LaravelとLumenのコンポーネントと機能の比較表を探しています。違いを知っている人はいますか?
回答:
Lumen(5.2)の最新バージョンでは、マイクロフレームワークはステートレスAPIに焦点を当てています。ドキュメントの状態:
Lumen 5.2は、Lumenをスリム化して、ステートレスなJSON APIのみを提供することに焦点を当てるシフトを表しています。そのため、セッションとビューはフレームワークに含まれなくなりました。これらの機能にアクセスする必要がある場合は、完全なLaravelフレームワークを使用する必要があります。
ルーメンはスピードがすべてです。Laravelよりも高速で、1秒あたりにより多くのリクエストを処理できます。
Laravelは、多くのコンポーネントを接着するフレームワークです(サードパーティおよびLaravels独自のコンポーネント)。現在、Lumenは多くの同じコンポーネントを使用していますが、ブートストラッププロセスを最小限にしています。あなたはそれが「異なる接着剤」であると言うことができます、コンポーネント(そしてそれゆえ多くの機能)はほとんど同じです。
パフォーマンスの向上は、構成の面でフレームワークの柔軟性の一部を取り除き、デフォルトのブートプロセスを変更することによって達成されます。
さらに、デフォルトで無効になっている機能が多く、使用する前にアクティブにする必要があります。例として:ファサード(などDB::table()
)
最初に、この行のコメントを外しbootstrap/app.php
て有効にする必要があります。
// $app->withFacades();
Dotenv環境ファイルとEloquentについても同様です。
ルーメンのルーティングには、symfonysルーターの代わりにnikic / FastRouteを使用します。これにより、パフォーマンスが大幅に向上し、マイクロフレームワークがさらに大きく向上します。
それ以外はほとんどすべてがLaravelと同じです。
ルーメンの良い読み物
LumenはLaravelに代わるものとして設計されたのではなく、マイクロサービスとAPI向けに設計された、より特殊化された(そして簡略化された)フレームワークです。HTTPセッションやCookieなどのAPIの不要な機能を取り除き、設定オプションの数も制限しました。Lumenはそのままで、速度のためにLaravelの柔軟性を犠牲にしました。
ただし、LaravelコンポーネントをLumenに追加して拡張できるため、マイクロサービスやAPI以外にも使用できます。ただし、Lumenを拡張してWebサイトにすることを目標とする場合は、代わりにLaravelを使用することもできます。
また、使用例も異なります。LumenとLaravelは一緒に動作するように設計されています。APIとサービスが頻繁に呼び出されるため、Lumenを使用します。ユーザー向けのアプリケーションの場合は、Laravelを使用します。
この回答は、私が書いた、LumenとLaravelの違いを説明するブログ投稿から引用しています。
Matt Staufferからの引用
LumenはLaravelと同じ基盤を持ち、同じコンポーネントの多くを備えています。ただし、Lumenはマイクロサービス用に構築されており、ユーザー向けアプリケーション用ではありません(ただし、何にでも使用できます)。BootstrapやElixirなどのフロントエンドの優れた機能と認証ブートストラップおよびセッションは、そのままでは有効になっていません。また、ブートストラップファイルを拡張および変更する柔軟性が低くなります。
npm install
これは完全に準備されているわけではないためです。したがって、Lumenに切り替えることで、これらの点で多くを失うことはありません。Lumenでは、package.jsonを作成してnpmで
redirect()->intended
。ルーメンがこれらの分野に追いつくことを期待しています。私はORM(Eloquent)のないLaravelが本当に好きなので、Lumenはとても魅力的です。
redirect()->intended()
Lumenが焦点を当てているAPIでの使用はあまりありません。
なぜルーメン?
Lumenは、Laravelベースのマイクロサービスの構築と高速APIの構築に最適なソリューションです。実際、これは利用可能な最速のマイクロフレームワークの1つです。Laravelアプリケーションをサポートするために驚くほど高速なサービスを作成することはかつてないほど容易になりました。ドク
LumenはAPIを構築するためのフレームワークであり、本質的にはリクエストに対するJSON応答を提供します。それでおしまい。
これらの種類のアプリケーションは、一般にWebサービスとして知られています。
Lumen 5.2の更新時点では、laravelビュー、セッションなどはサポートされていません。そのため、完全なlaravelフレームワークにアップグレードする必要があります。
Laravelフレームワークの一部のコンポーネントは、パフォーマンスを優先して他のパッケージと交換されます。ここで確認してください
ルーメンを検討できるシナリオの例
Laravelとルーメンの主な違いは、Laravelには、ルーメンにはない職人コマンドを使用できることです。