我是Symfony的新手。我需要创建2或3个单独的包。每个bundle都扩展了DependencyInjection,提供了一个数组类型参数,其中包含键:导航,但值不同。
捆绑页面上的nav.xml:
<parameters>
<parameter key="navigations" type="collection">
<parameter key="page" type="collection">
<parameter key="label">Page</parameter>
<parameter key="url">%admin%/page</parameter>
</parameter>
</parameter>
</parameters>
捆绑博客上的nav.xml:
<parameters>
<parameter key="navigations" type="collection">
<parameter key="blog" type="collection">
<parameter key="label">Blog</parameter>
<parameter key="url">page</parameter>
</parameter>
</parameter>
</parameters>
当我这样做时:
$nav = $this->container->getParameter('navigations');
dump($nav);
我只获得最后定义的参数。我应该如何合并它们?
答案 0 :(得分:0)
每个参数名称都应以包别名开头,尽管这只是一个最佳实践建议。参数名称的其余部分将使用句点(。)来分隔不同的部分(例如acme_hello.email.from)。
在任何配置文件中
<!-- app/config/config.xml -->
<parameters>
<parameter key="acme_hello.email.from">fabien@example.com</parameter>
</parameters>
从容器中检索代码中的配置参数:
$container->getParameter('acme_hello.email.from');
中了解详情