環境

環境のサポートは、FuelPHP やあなたのアプリケーションが、環境設定に基づいて意思決定することを助けます。 FuelPHP 自体は環境設定を使用して、現在有効な環境に基づいて追加の設定をロードしたり上書きしたりします。

環境のリスト

FuelPHP には 4 つの定義済みの環境があります。

環境をセットする

環境の設定は、サーバ変数 FUEL_ENV をセットするか、 手動で fuel/app/bootstrap.php 内の設定を変更することで設定します。

// Inside app/bootstrap.php

/**
 * あなたの環境。次のいずれかをセットすることができます:
 *
 * Fuel::DEVELOPMENT
 * Fuel::TEST
 * Fuel::STAGE
 * Fuel::PRODUCTION
 */
Fuel::$env = (isset($_SERVER['FUEL_ENV']) ? $_SERVER['FUEL_ENV'] : Fuel::DEVELOPMENT);

環境と設定

アプリケーションがセットされた環境に基づいて、Config クラスは指定した環境の設定ファイルを検索します。 Config クラスはは現在の環境名が付けられたディレクトリ内にある同じ設定ファイル名を検索します。 こちらがサンプルになります:

app/
  config/
    stuff.php
      development/
        stuff.php
      production/
        stuff.php

あなたの環境が \Fuel::DEVELOPMENT に設定されているとき、stuff.php の設定は development/stuff.php とマージされます。 環境が \Fuel::DEVELOPMENT 以外なら、追加の設定ファイルはロードされません。同じことが 他の環境設定にも当てはまります。

この実際のサンプルはデータベース設定です。デフォルトの設定はありません (これはおそらくとても危険です)。 環境固有の設定だけがあります。

Apache で設定する

Apache Web サーバーの SetEnv ステートメントを使ってあなたのアプリケーションの環境設定をおこなうことができます。 ほとんどの場合、環境変数を使って、次のように簡単に設定することができます。また、あなたのサーバーがコマンドラインへのアクセス権を持っていない場合のオプションです。

// run this application in production mode
SetEnv FUEL_ENV production

The variable name FUEL_ENV should be specified in UPPERCASE, the environment name in lowercase.

Setting the environment for oil

When using a *unix operating system, you can use the env command to define the variable before starting oil.

$ env FUEL_ENV=production php oil -v

At the moment we don't know how this can be done in Windows without the use of a batch file that adds the environment variable. If you know how, let us know, or send us a pull request adding it to this page!