StratdashBundle の機能を使う場合、配下のCore機能の多くのクラスを継承した機能郡でバンドルを作成します。
ですが、ほとんどの継承処理や基本的な処理は SdGenerateBundleCommand により自動的に行われます。
ここでは、自動生成されたコードを前提に、主にWebページを作る際に意識する必要のあるルールや、カスタマイズ箇所・内容 について記載します。
バンドルは、app/AppKernel.php 内で AppKernel::registerBundles() に バンドルクラス情報 を追記することで有効になります。
例)
class AppKernel extends Kernel
{
public function registerBundles(){
$bundles = array(
:
new TinyWorld\StartdashBundle\TinyWorldStartdashBundle(),
:
);
return $bundles;
}
:
また、app/config/routing.yml に バンドルルートプレフィックス情報を追加します。
例)
:
tinyworld_startdash:
resource: "@TinyWorldStartdashBundle/Resources/config/routing.yml"
prefix: /startdash/
:
これで、バンドル・バンドルルートプレフィックスともに有効になり、ブラウザでアクセスするSymfony2 の バンドルの準備は完了です。
バンドルクラス は バンドルに1つだけある、バンドルを代表するクラスです。
StartdashBundle を継承したクラスでは、バンドル内で共通する(コントローラを跨いだ)情報を保持し、共通する処理を実施します。
バンドル準備が終わったら、StartdashBundle に向けたバンドルクラスカスタマイズを行います。
StartdashBundle::boot() は Bundle::boot() をオーラライドしていて Kernel から AppKernel に登録したバンドル順にコールされます。 同じ情報を更新する場合、後に実施した方が有効(上書き)になります。 上記を踏まえ、その初期化処理の適切なタイミングを考慮してください。 ※ 他での設定を優先するならコンストラクタで行う、等 * 実行時準備処理\\ StartdashBundle::update() をオーバライドして実施します。\\ 実行コントローラが確定した後、コントローラ準備処理(StartdashController::prepare())前にコールされ、バンドル情報の更新を行います。\\ こちらは現状は特にルールはないため、実装するコントローラの処理によって便利であれば処理を記載します。
※ 実行されるタイミングはStartdashListener の 流れ を参照して下さい。