version : BETA3 (正式リリース後, 改変の可能性あり)
今回も, ドキュメント的には Creating Pages in Symfony2 の続きになります。
Symfony2プロジェクトの構造
一応, 基本的なSymfony2プロジェクトのディレクトリ構造は, 名前かも判るように
Symfony2プロジェクトのディレクトリ構造
という感じ。- app/: アプリケーションのコンフィグファイルを含む
- src/: 作成するソースなどはここに格納
- vendor/: 様々なvendorファイルを置く場所
- web/: 公開ディレクトリ, img, css, js などといったのはココ, あとフロントコントローラもここ!
ちなみに, プロジェクトを公開するときは, web/ のフロントコントローラにおいて,
- $kernel = new AppKernel('prod', true);
(一度prodで実行すると キャッシュが作成され, 以後はそのキャッシュで動くっぽいな。たぶん。)
また, prod 環境の場合, 速度のための最適化が行われ, そのためにキャッシュを作成するようになっている。そのため, もしprodの環境を変更した場合は, 以下のコマンドを実行すること!
rm -rf app/cache/*
Bundleの構造
そして Symfony2 のアプリケーションは, Bundle によって構成されている。この Bundle のディレクトリ構造は以下のようになっている。
Bundle のディレクトリ構造
- Controller/ : Bundleのコントローラを格納
- Resources/config/ : コンフィグレーションファイルを格納 (routing.yml などもここに入れます)
- Resources/views/ テンプレートファイルを置く (コントローラー名/テンプレート名 という形式で)
- Resources/public/ webディレクトリにシンボリックリンクが作成されるので, ここに img, css, js を置ける
- Tests/ Bundleのテストをするためのもの
アプリケーションの設定
app/config/を見ると, config.yml だけでなく, config_[prod,dev,text].yml といったように, それぞれの環境に対するコンフィグレーションファイルが存在する。
まず初めに config.ymlが呼ばれ(これは必ず呼ばれる), その後に, AppKernelクラスの registerContainerConfiguration で, 環境に応じた config_[prod,dev,text].yml が呼ばれる。
これにより, 環境に柔軟な設定が可能。
0 コメント:
コメントを投稿