按键合并依赖注入参数

时间:2015-04-25 14:47:26

标签: php symfony

我是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);

我只获得最后定义的参数。我应该如何合并它们?

1 个答案:

答案 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');

Best Practices

中了解详情