CakePHP 設定情報をYAMLで管理する
notoです。
CakePHPで設定情報を書く場合、Configure::writeをよく使うと思います。 しかし設定情報を書き変えたい場合、コードを書き変える必要があります。(コードに直書きしている場合)
YAMLに設定情報を定義することで、コードを書き換える必要がなく幸せになれるねって話です。
検証環境
- CakePHP2.0.4
- PHP5.3.8
設定ファイル(YAML)を作成する
app/Config以下にsetting.ymlを作成します。
YAMLの書き方はプログラマーのための YAML 入門 (初級編)が参考になると思います。
Spycを配置する
app/Vendor/以下にspycフォルダを作成し、spyc.phpを配置します。
ディレクトリ構造
1 2 3 4 |
|
設定ファイル(setting.yml)を元にConfigure::writeを行う
これでYAMLをパースする準備ができたので、Configure::writeを行う処理を実装します。
1 2 3 4 5 6 7 8 9 10 |
|
これで、setting.ymlに定義された情報がConfigure::readで取得できます。
この一連の処理はオープンソースのcroogoをかなり参考にしています。 croogoでは、データベースで管理されたデータをYAMLファイルとして出力して、それを読み込んでいます。
オープンソースは色々勉強になりますね。