目次

バンドル

StratdashBundle の機能を使う場合、配下のCore機能の多くのクラスを継承した機能郡でバンドルを作成します。

ですが、ほとんどの継承処理や基本的な処理は SdGenerateBundleCommand により自動的に行われます。

ここでは、自動生成されたコードを前提に、主にWebページを作る際に意識する必要のあるルールや、カスタマイズ箇所・内容 について記載します。

バンドル準備(Symfony2)

バンドルは、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 の バンドルの準備は完了です。

バンドルクラスカスタマイズ(StartdashBundle)

バンドルクラス は バンドルに1つだけある、バンドルを代表するクラスです。

StartdashBundle を継承したクラスでは、バンドル内で共通する(コントローラを跨いだ)情報を保持し、共通する処理を実施します。

バンドル準備が終わったら、StartdashBundle に向けたバンドルクラスカスタマイズを行います。

StartdashBundle::boot() は Bundle::boot() をオーラライドしていて Kernel から AppKernel に登録したバンドル順にコールされます。
同じ情報を更新する場合、後に実施した方が有効(上書き)になります。
上記を踏まえ、その初期化処理の適切なタイミングを考慮してください。
※ 他での設定を優先するならコンストラクタで行う、等
* 実行時準備処理\\ StartdashBundle::update() をオーバライドして実施します。\\ 実行コントローラが確定した後、コントローラ準備処理(StartdashController::prepare())前にコールされ、バンドル情報の更新を行います。\\ こちらは現状は特にルールはないため、実装するコントローラの処理によって便利であれば処理を記載します。

※ 実行されるタイミングはStartdashListener の 流れ を参照して下さい。