2016-12-02 2 views
1

を有効にした場合、自動的に私は自動的にそれがAppKernelで有効になっていたときにTotoBundleのルーティングファイルをインクルードしようとしているrouting.xmlを追加:手動でバンドルが

をそれを宣言することなく、

public function registerBundles() 
{ 
    ... 
    $bundles[] = new \My\TotoBundle\MyTotoBundle(); 
    ... 
} 

アプリ/設定/ config.yml

toto: 
    resource: "@MyTotoBundle/Resources/config/routing.yml" 

これを行う方法はありますか?

+0

私はあなたが「それが有効になっていたときに、」定義することができ、非常によく状況を理解していませんか? – yceruto

+0

私はそれをAppKernelで有効にしたらどうですか? '' 'public function registerBundles() { ... $ bundles [] = new \ My \ TotoBundle \ MyTotoBundle(); ... } '' ' – Charly

答えて

0

バンドルでDependencyInjectionを使用できます。たとえば

<?php 
namespace Namespace\ExampleBundle\DependencyInjection; 

use Symfony\Component\DependencyInjection\ContainerBuilder; 
use Symfony\Component\Config\FileLocator; 
use Symfony\Component\HttpKernel\DependencyInjection\Extension; 
use Symfony\Component\DependencyInjection\Loader; 

class NamespaceExampleExtension extends Extension 
{ 
    public function load(array $configs, ContainerBuilder $container) 
    { 
     $configuration = new Configuration(); 
     $config = $this->processConfiguration($configuration, $configs); 

     $loader = new Loader\XMLFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); 
     $loader->load('services.xml'); 
     $loader->load('routing.xml'); 
    } 
} 
+0

私はすでにこれを試みたが、それは例外をスロー:YamlFileLoader.phpライン399で ' '' InvalidArgumentException: のは/ varの「myweb_totoroute」の設定をロードすることができ拡張子は(ありません/www/myweb/src/TotoBundle/DependencyInjection/../Resources/config/routing.yml)。名前空間 "myweb_totoroute"を探しました。見つからない場合 '' ' – Charly

+0

@Charly ymlファイルをロードする場合は、コードスニペットにあるようにXMLFileLoaderではなくYamlFileLoaderを使用する必要があります。 –

+0

@ Grzegotはい、私の場合は** Loader \ YamlFileLoader **を使用しています。私のファイルは** routing.yml **です。形式は整っています。 – Charly

関連する問題