[fuelPHP]環境の切り替えと環境別の設定ファイル
- 公開日:2015/1/28
fuelPHPでは開発環境、本番環境など環境によって動作時に読み込む設定ファイルを変えることができます。
例えば、fuelphpではDB情報をdb.phpに記述しますが、開発時と本番でのDBが異なる場合に、開発環境用のdb.phpと本番用のdb.phpを別に作成しておき、動作している環境によって読み込むdb.phpファイルを変えるという手筈です。
用意されている4つの環境
クラス定数 | 値 | 環境 |
---|---|---|
Fuel::DEVELOPMENT | development | 開発環境 |
Fuel::TEST | test | テスト環境 |
Fuel::STAGING | staging | ステージング環境 |
Fuel::PRODUCTION | production | 本番環境 |
環境の設定(htaccessの場合)
デフォルトではDEVELOPMENT(開発環境)になっています。
例として、PRODUCTION(本番環境)に設定します。
public/.htaccessで環境変数FUEL_ENVの値を変更します。
SetEnv FUEL_ENV production
環境の設定(bootstrap.phpの場合)
/** * Your environment. Can be set to any of the following: * * Fuel::DEVELOPMENT * Fuel::TEST * Fuel::STAGING * Fuel::PRODUCTION */ Fuel::$env = (isset($_SERVER['FUEL_ENV']) ? $_SERVER['FUEL_ENV'] : Fuel::PRODUCTION);
有効になる設定ファイル
設定した環境の値は「fuel/app/config」フォルダ内のサブフォルダに対応します。
以下のようなファイル構成の場合
DEVELOPMENT(開発環境)ではconfig.phpは、
● config/config.php
しかないので、その設定が有効になります。
PRODUCTION(本番環境)では、
● config/config.php
● config/production/config.php
が順に読み込まれるので同じ項目が両方のファイルに設定されている場合は、個別のconfig/production/config.phpの設定が有効になります。
fuel
├── app
│ ├── config
│ │ ├── config.php
│ │ ├── db.php
│ │ ├── development
│ │ │ └── db.php
│ │ ├── production
│ │ │ ├── db.php
│ │ │ └── config.php
│ │ ├── staging
│ │ │ └── db.php
│ │ └── test
│ │ └── db.php