如何从捆绑包外部访问Symfony 2捆绑包配置?

J. *_*uni 11 php configuration bundle symfony

不要链接到如何为Bundle公开语义配置

事实上,我已经拥有一个完全可用的捆绑包,有许多配置选项.捆绑包实际上是app/config.yml在其自己的部分配置的.我已经使用TreeBuilder实现了ConfigurationInterface,依此类推.我能够成功地在捆绑包中注入配置并在捆绑代码中使用它.

然而,我想做的事情非常简单,但即使我使用Composer发布和安装了一个完全可用的软件包,我已经使用Symfony 2只用了几个星期了,可能答案确实非常简单.但我不知道!

如何从我的app控制器访问捆绑配置?

例如......这就是配置app/config.yml(其中"设备"有数组原型):

my_bundle:
    format: standard
    devices:
        main:
            color: yellow
            capacity: 200
Run Code Online (Sandbox Code Playgroud)

如何使用捆绑包从应用程序的控制器访问这些值?

Emi*_*aos 11

整个配置在参数中paggy_boleto.config作为嵌套数组公开.要在控制器中访问它:

$config = $this->container->getParameter('paggy_boleto.config');
Run Code Online (Sandbox Code Playgroud)

var_dump 要查看的配置,如何访问其中的条目.

如果您需要访问其他bundle配置,您必须查看bundle Extension类,它们如何将配置公开到di容器中.像你这样的一些bundle会暴露整个配置,而其他一些bundle则不暴露(它们只暴露特定的参数).

在PaggyBaletoBundle中,这是相关的一行:

$container->setParameter('paggy_boleto.config', $config);
Run Code Online (Sandbox Code Playgroud)