Symfonyに挑戦06「設定ファイル」
第5章 - symfonyを設定するをやってみる。
アプリケーション毎やモジュール毎にいろいろと設定できるみたいだ。設定ファイルはYAMLという書式で書くらしい。
設定ファイルの場所
設定ファイルを格納する場所はプロジェクト毎に下記の3つ。
- myson/config/
プロジェクト全体のグローバル設定ファイル格納場所 - myson/apps/(アプリケーション名)/config/
アプリケーション毎のローカル設定ファイル格納場所 - myson/aaps/(アプリケーション名)/modules/(モジュール名)/config/
モジュール毎のローカル設定ファイル格納場所
プロジェクト設定ファイルの種類
myson/config/内の設定ファイル
- ProjectConfiguration.class.php
フレームワーク本体へのパスとか記述。高度。 - databases.yml
データベースへのアクセスと接続の設定を定義する - properties.ini
プロジェクト名と異なるサーバのための接続設定など - rsync_exclude.txt
プロジェクトファイルを他の場所のファイルと同期するときに同期したくないファイルを設定するファイル - schema.yml
Propelでのデータアクセス用設定ファイル。 - propel.ini
Propelでのデータアクセス用設定ファイル。自動的に生成されるので触ることはない。 - vhost.sample
Apacheのバーチャルホスト設定のサンプル。
アプリケーション設定ファイルの種類
myson/apps/(アプリケーション名)/config/内の設定ファイル
- app.yml
アプリケーション固有の設定 - frontendConfiguration.class.php
アプリケーション固有の定数をカスタマイズ - factories.yml
クラス定義 - filters.yml
フィルタ定義 - routing.yml
ルーティング(URLの変換)ルール - settings.yml
アプリケーションの主要な設定。これがメイン? - view.yml
HTMLのヘッダ部分に記述するmetaとかを設定するファイル - cache.yml
キャッシュの設定 - security.yml
アクセス制限の設定?
モジュール設定ファイルの種類
デフォルトではconfigディレクトリ自体作られていないので、必要な場合にディレクトリとファイルを自分で作って入れるようだ。
- generator.yml
データベースのなにかの設定 - module.yml
モジュール固有のカスタム設定 - security.yml
アクションに対するアクセス制限の設定 - view.yml
HTMLのヘッダ部分に記述するmetaとかを設定するファイル。アプリケーションのview.ymlを上書きできる。
設定ファイル(YAML)の書き方注意事項
・コメントアウトは頭に「#」
・インデントにタブをつかってはダメ。半角スペースで。
・同じグループは同じインデント数で。
・文字列に特別な文字を含む場合は「''」シングルクォートで囲む
・文字列にシングルクオートを含む場合はそのシングルクオートを二重にする。
・改行の入った文字列を書く場合は頭に「|」を入れる。
・改行を無視してほしい場合は頭に「>」を入れる。
・配列は「[ 1, 2, 3 ]」か、
- 1 - 2 - 3
・連想配列は「{ A:1, B:2, C:3 }」か、
A: 1 B: 2 C: 3
・理論値は正の値はonか1かtrueで、負の値はoffか0かfalse
・コロンやカンマの後には半角スペースを入れる。
・文字列にYAMLで予約されている文字(コロンやカンマ)を入れるときはシングルクオートで囲む
Q. ファイルが多すぎるでしょうか?
A. 多すぎます。