設定を変更する場合はapp/config/下にコピー。編集。
が基本です。
また、app/config/[環境別ディレクトリ]/下にコピーすれば、それが最優先されるはずです。
以下の関係と認識しています。
app/config/[環境別ディレクトリ]/ > app/config/ > core/config/
最も基本となる設定ファイルはconfig.phpですが、
例えば先日書いた記事のTwitterのOauth関係の設定をconfig.phpに追記したくはありません。
http://madroom-project.blogspot.com/2011/11/fuelphp-zend-framework-twitteroauth.html
そこで、オリジナルの設定ファイルが欲しくなり、以下を参考に、やってみました。
http://docs.fuelphp.com/classes/config.html
(1)
まず
app/config/_custom.php
を作成。
ファイル名ソートの関係で先頭にアンダースコアを付与しています。
この辺りは、当然、お好きに。
return array( '_twitter' => array( 'callbackUrl' => '[callbackUrl]', 'siteUrl' => 'http://twitter.com/oauth', 'consumerKey' => '[consumerKey]', 'consumerSecret' => '[consumerSecret]', 'authorizeUrl' => 'http://twitter.com/oauth/authenticate', ), ); /* End of file _custom.php */
(2)
config/config.phpの'always_load'の'config'を以下にする。
'config' => array( '_custom' => null, ),valueにnullを指定してやらないと、どうも、ダメでした。
この点については、後日、調査しよう。。。
尚、手動でロードする場合は、コントローラのbeforeメソッドなどに、以下を記述。
Config::load('_custom');
これでConfig::getにて、app/config/_custom.phpの内容を取得できます。
(1)の設定の取得は、Config::get('_twitter')です。
--
2011/12/21 追記
Config::get('_twitter.callbackUrl')といった感じで、ドット繋ぎで取得することも可能です。
--
(3)
一応、app/config/[環境別ディレクトリ]/_custom.phpも作成して確認しましたが
期待通り、環境別の切り分けもOKでした。
No comments:
Post a Comment