请,不要链接到How to expose a Semantic Configuration for a Bundle
事实上,我已经拥有一个完全可用的捆绑包,有许多配置选项。捆绑包实际上是在app/config.yml
配置的,在其自己的部分。我已经使用TreeBuilder实现了ConfigurationInterface,依此类推。我能够成功地在捆绑包中注入配置并在捆绑代码中使用它。
然而,我想做的事情非常简单,但即使我使用Composer发布并安装了fully working bundle,我也只使用Symfony 2几周了,可能的答案是确实非常简单......但我不知道!
如何从我的应用控制器访问捆绑配置?
例如......这是app/config.yml
的配置(其中“devices”有数组原型):
my_bundle:
format: standard
devices:
main:
color: yellow
capacity: 200
如何使用捆绑包从应用程序的控制器访问这些值?
答案 0 :(得分:10)
整个配置在参数paggy_boleto.config
中作为嵌套数组公开。要在控制器中访问它:
$config = $this->container->getParameter('paggy_boleto.config');
var_dump
要查看的配置,如何访问其中的条目。
如果您需要访问其他捆绑包配置,则必须查看捆绑包Extension类,以及它们如何将配置公开到di容器中。像你这样的一些包暴露了整个配置,而其他一些包则没有(它们只公开特定的参数)。
在PaggyBaletoBundle中,这是相关的line:
$container->setParameter('paggy_boleto.config', $config);
答案 1 :(得分:3)
这取决于您如何实现bundle的配置构建器 - 它使用特定前缀预先设置其参数。
根据your case,paggy_boleto.config
答案 2 :(得分:0)
您应该将parameters.yml用于此目的。 然后你可以像这样轻松地获取控制器中的东西
$parameters = $this->container->getParameter('devices');