【symfony2】サードパーティバンドルの追加
ネームスペースの定義
app/autoload.phpに、サードパーティバンドルのフォルダを追加すればいいです。
複数ある場合は、配列で定義します。
1 2 3 4 5 6 7 8 9 | $loader = new UniversalClassLoader(); $loader->registerNamespaces(array( ... 'Imagine' => __DIR__.'/../vendor/imagine/lib', 'Avalanche' => __DIR__.'/../vendor/bundles', 'Endroid' => array(__DIR__.'/../vendor/endroid/qrcode-bundle/', __DIR__.'/../vendor/endroid/qrcode/src/'), ... )); ... |
※Symfony2.1以降では、composerを使って自動更新で、自分でネームスペースを定義する必要がなくなりました。
仕組みとして、app/autoload.phpではなく、vendor/autoload.phpでサードパーティバンドルのネームスベースを定義し、vendor/composer/autoload_real.phpを毎回更新しているのようです。
バンドルの有効化
app/AppKernel.phpに、追加したいバンドルを$bundlesの配列に書けばいいです。
1 2 3 4 5 6 7 8 9 10 11 12 | public function registerBundles() { $bundles = array( ... new Avalanche\Bundle\ImagineBundle\AvalancheImagineBundle(), new Endroid\Bundle\QrCodeBundle\EndroidQrCodeBundle(), ... ); ... return $bundles; } ... |
Author Profile
スターフィールド編集部
SHARE