48

env('APP_ENV')useとapp 環境の取得の違いは何config('app.env')ですか?App::environment()

私は、へのenv('APP_ENV')意志が構成$_ENVconfig('app.env')読み取り、App::environment()すべての抽象化であることを知っています。そして、私の意見では、利点はこれでもあります。抽象化

パフォーマンスやセキュリティのレベルなど、他の違いがあるかどうかはわかりません

4

5 に答える 5

10

同等に優れたオプションが 2 つあります

if (\App::environment('production')) {...}

また

if (app()->environment('production')) {...}

app()->environment() は実際にはBugsnagで使用されています。こちらのドキュメントを参照してください。

デフォルトでは、Laravel のアプリケーション インスタンスで environment() 関数を呼び出すことで、アプリの環境を自動的に検出します。

さて、違い:

1)env(...)設定をキャッシュした後、関数は null を返します。本番環境でよく発生します。

config2)単体テスト内でパラメーターを変更できるため、テスト中に柔軟性が得られます。

于 2017-02-03T03:45:59.830 に答える