Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按键合并依赖项注入参数_Php_Symfony - Fatal编程技术网

Php 按键合并依赖项注入参数

Php 按键合并依赖项注入参数,php,symfony,Php,Symfony,我是新来的。我需要创建可能2或3个单独的包。每个bundle都扩展了DependencyInjection,提供了一个数组类型的参数,其键为:navigations,但值不同 捆绑包页面上的nav.xml: <parameters> <parameter key="navigations" type="collection"> <parameter key="page" type="collection"> &l

我是新来的。我需要创建可能2或3个单独的包。每个bundle都扩展了DependencyInjection,提供了一个数组类型的参数,其键为:navigations,但值不同

捆绑包页面上的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>

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

每个参数名称都应该以bundle别名开头,尽管这只是一个最佳实践建议。参数名称的其余部分将使用句点(.)分隔不同部分(例如acme_hello.email.from)

在任何配置文件中

<!-- app/config/config.xml -->
<parameters>
    <parameter key="acme_hello.email.from">fabien@example.com</parameter>
</parameters>

请阅读

中的更多信息,我想您的AppKernel中添加的最后一个捆绑包将始终覆盖以前的配置,等等。您不能定义两个不同的参数名称吗?是的,我可以,但这意味着我需要遍历捆绑包,这可能是最后一个选项。
$nav = $this->container->getParameter('navigations');
dump($nav);
<!-- app/config/config.xml -->
<parameters>
    <parameter key="acme_hello.email.from">fabien@example.com</parameter>
</parameters>
$container->getParameter('acme_hello.email.from');