Lumen フレームワークのすべての設定項目は、設定ファイル .env に配置されます。
設定値は、設定ファイルや設定項目と「.」で区切ってアクセスすることができます。構成項目が存在しない場合 存在する場合は、デフォルト値が返されます:
$value = config('app.timezone');
実行時に構成値を設定したい場合は、配列を config 関数に渡します:
config(['app.timezone' => 'America/Chicago']);
アプリケーションの実行環境に基づいて異なる構成値を使用すると、開発に大きな利便性をもたらすことができます。たとえば、ローカル環境とオンライン環境で異なるキャッシュドライバーを構成したいと考えています。これは Lumen で簡単に実現できます。
Lumen は、この目的を達成するために Vance Lucas によって開発された PHP ライブラリ DotEnv を使用します。Lumen が Composer を通じてインストールされている場合、ルート ディレクトリに .env.example ファイルがあります。ファイルの名前は .env に変更されました。それ以外の場合は、ファイルの名前を手動で変更する必要があります。
アプリケーションがリクエストを受け入れるたびに、.env にリストされているすべての変数が PHP スーパー グローバル変数 $_ENV にロードされ、ヘルパー関数 env Value:
$debug = env('APP_DEBUG', true);env 関数に渡される 2 番目の値はデフォルト値で、指定されたキーに対応する環境変数が存在しない場合に使用されます。
アプリケーションを使用する開発者やサーバーごとに異なる環境構成が必要になる可能性があるため、.env ファイルをソース管理 (svn や git など) に送信しないでください。
チームで開発している場合は、env.example ファイルにプレースホルダーとしていくつかの構成値を配置することで、.env.example ファイルをアプリケーションとともにソース管理に送信できます。他の開発者は、アプリケーションを実行するためにどの環境変数を構成する必要があるかを明確に知ることができます。
現在のアプリケーション環境を判断する
現在のアプリケーション環境は、.env ファイル内の構成項目を介して APP_ENV によって決定されます。この構成値には、App インスタンスの環境メソッドを通じてアクセスできます。
$environment = app()->environment();環境メソッドにパラメータを渡して、現在の環境が指定された値と一致するかどうかを判断することもできます。一致する場合は、true が返されます。 >
if (App::environment('local')) { // The environment is local}if (App::environment('local', 'staging')) { // The environment is either local OR staging...}