2017-10-10 77 views
0

我已經生成了新的包:RusabTestBundle。它具有除其他事項外文件:爲什麼我不能在bundle的配置文件中使用配置?

- DependencyInjection 
-- RusabTestBundleExtension.php 
-- Configuration.php 

在RusabTestBundleExtension.php我:

$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); 
$loader->load('services.yml'); 

在的configuration.php我:

$rootNode = $treeBuilder->root('rusab_test_service'); 

下一頁:

- Resources 
-- services.yml 

在services.yml中,我粘貼:

rusab_test_service: 

而且我有錯誤:

There is no extension able to load the configuration for "rusab_test_service" (in /xxx/src/Rusab/TestBundle/DependencyInjection/../Resources/config/services.yml). Looked for namespace "rusab_test_service", found none

但我我貼

rusab_test_service: 

app/config/config.yml

那麼這個好的工作。

爲什麼?我知道,我可以在app/config/config.yml中導入services.yml,但是在RusabTestBundleExtension.php中加載的是什麼?

+0

試試這個能力:https://stackoverflow.com/a/35505189和命名yml&Configuration.php文件中的關鍵字'rusab_test' –

+0

@AlisterBulman它也不適用於我 – rusab

+0

基本上,樹構建器用於創建捆綁包默認配置。沒有Bundle/resources/config.yml文件。然後當然可以使用app/config來覆蓋特定的節點。 – Cerad

回答

1

方式包配置的工作原理是通過構建所有各種選項的配置樹。

你試圖通過加載一個可能不錯的配置文件來構建樹,但這不是Symfony的設計方式。

所以建立自己的樹的configuration.php,然後給應用程序通過應用覆蓋特定的值/配置/ config.yml

相關問題