Configクラスは、設定ファイルから値を取得したり、設定ファイルへ値を書き込むメソッドを提供する。
指定した設定項目を削除する。
delete($item)指定した設定項目の値を返す。
get($item, $default = null)指定した設定ファイルをシステムに読み込む。
load($file, $group = null, $reload = false, $overwrite = false).php固定であるため、ファイル拡張子は含めない。configディレクトリに対する相対パスで指定する。saveメソッドは設定ファイルを保存するメソッドである。設定ファイルが存在しない場合、APPPATH/config/ディレクトリ下にファイルを新規作成する。
static boolean save($file, $config = null)$fileAPPPATH/config/ディレクトリに対する相対パスで指定する。拡張子は.php固定であるため、$fileに拡張子を含めてはいけない。PHP形式でのみ保存可能であり、INI形式、YAML形式およびJSON形式では保存できない。$configConfig::saveメソッドで保存できるのはPHP形式のみである。INI形式で保存したい場合は次のようにする。
$ini = parse_ini_file('config.ini');
$ini['foo'] = 'bar';
$fp = fopen('config.ini', 'w');
foreach ($ini as $key => value) {
  fputs($fp, "$key = $value\n");
}
fclose($fp);$itemで指定した設定項目に$valueで指定した値を設定する。
set($item, $value)FuelPHPでは、APPPATH/config下に各種設定ファイルがある。
| 設定ファイル | 説明 | 
|---|---|
| config.php | アプリケーション全般に関する設定 | 
| routes.php | URIルーティングに関する設定 | 
| db.php | データベースに関する設定 | 
APPPATH/config/config.phpは、アプリケーション全般に関する設定ファイルである。
| キー | 説明 | 
|---|---|
| log_date_format | ログに出力する日付と時刻の書式 | 
| log_file | ログファイルの名前 | 
| log_path | ログを保存するディレクトリのパス | 
| log_threshold | 出力するログのレベル | 
| url_suffix | FuelPHPによって生成されるURLに追加されるサフィックスを指定する。サフィックスが拡張子の場合は、ドット( .)を含める必要がある。 | 
| ログレベル | 説明 | 
|---|---|
| Fuel::L_NONE | ログを出力しない | 
| Fuel::L_ERROR | エラーログを出力 | 
| Fuel::L_WARNING | エラーログ及び警告ログを出力 | 
| Fuel::L_DEBUG | エラーログ、警告ログ及びデバッグログを出力 | 
| Fuel::L_INFO | エラーログ、警告ログ、デバッグ及び情報ログを出力 | 
| Fuel::L_ALL | すべてのログを出力 | 
アプリケーションの設定ファイルはapp/config/下に配置する。設定ファイルはPHP形式、INI形式、YAML形式及びJSON形式のいずれかで記述する。
PHPの連想配列をreturnする形式で記述する。設定ファイルの拡張子は.phpである。php.iniと同じ形式。
/* コメント */
return array(
  'key1' => 'value1',
  'key2' => 'value2',
);PHP形式の設定の場合、配列の配列やクラスのスタティックメソッドを呼び出すことも可能である。
return array(
  'key1' => 'value1',
  'key2' => array('key2_1' => 'value2_1', 'key2_2' => 'value2_2'),
  'key3' => Uri::create('myapp/index'),
);Windowsの構成設定ファイルと同じ形式で記述する。設定ファイルの拡張子は.iniである。
;コメント
[section1]
key1 = value1
key2 = value2
[section2]
key3 = value3RubyのYAML形式で記述する。。設定ファイルの拡張子は.ymlである。
group:
key: valueJavaScriptで利用されるJSON形式で記述する。設定ファイルの拡張子は.jsonである。
{
"group":
  {
    "key": "value"
  }
}デフォルトのconfig.php以外に設定した設定値は、手動でロードする必要がある。設定ファイルのロードにはConfig::loadメソッドを使用する。
load($file, $group = null, $reload = false, $overwrite = false)Config::load('custom');上記の例では、設定ファイルのcustom.phpをロードする。第1引数で設定ファイルの名前を指定するが、拡張子の.phpは記述する必要はない。
PHP形式以外で設定ファイルを記述している場合には、
Config::load('custom.ini');のように拡張子も記述する。
設定ファイルをロードするタイミングは、コントローラのbeforeメソッドでロードすることが多い。
php.iniや他の設定ファイルとの設定値の重複を防ぐために、設定ファイルの値をグループ化することができる。
Config::load('custom', true);第2引数にTRUEを指定することで、custom.phpの設定値はファイル名と同じcustomグループに格納される。この設定値を参照するには、
Config::get('custom.key1');のようにドットで区切ってグループ名とキー名を指定する。
また、グループ名を任意に指定したいときは、
Config::load('custom', 'group1');のように第2引数にグループ名を指定する。