Php 将参数传递到其他捆绑包中的视图-symfony2

Php 将参数传递到其他捆绑包中的视图-symfony2,php,symfony,Php,Symfony,我正在创建一个控制面板应用程序,它有一个基本捆绑包,包含一些基本功能和特定捆绑包,用于高级和特定功能 例如,基本捆绑包处理用户身份验证并保存所有模板资产,其他捆绑包添加功能以配置操作系统的不同部分 我需要能够在基本包的布局中将菜单链接添加到每个其他包。我更喜欢在每个bundle配置中这样做,这样我就可以混合和匹配不同客户机的功能 我读了所有关于编译器传递、扩展和依赖注入的书,但运气不好。有正确的方法吗?如果你使用的是细枝,这应该可以做到 {% render "DifferentBundle:Co

我正在创建一个控制面板应用程序,它有一个基本捆绑包,包含一些基本功能和特定捆绑包,用于高级和特定功能

例如,基本捆绑包处理用户身份验证并保存所有模板资产,其他捆绑包添加功能以配置操作系统的不同部分

我需要能够在基本包的布局中将菜单链接添加到每个其他包。我更喜欢在每个bundle配置中这样做,这样我就可以混合和匹配不同客户机的功能


我读了所有关于编译器传递、扩展和依赖注入的书,但运气不好。有正确的方法吗?

如果你使用的是细枝,这应该可以做到

{% render "DifferentBundle:ControllerName:functionalityName" with {'argument_name': 3} %}
您应该在不同的bundle控制器中有一个
functionalnameaction
方法,这样才能工作

看一下文档中的部分


希望能有所帮助。

为了防止有人遇到类似的问题,我是如何做到这一点的:

我在BaseBundle中创建了一个服务,它实现了uuu get、uuu set、uuu isset和uuu unset魔术方法,并有一个额外的append方法。它将变量存储在类内的静态变量中。 然后,我将侦听器添加到我的所有包中:

namespace Mbs\OtherBundle\Listener;

use Mbs\BaseBundle\Services\GlobalVars;
use Symfony\Component\HttpKernel\Event\FilterControllerEvent;

class ControllerListener
{
    protected $_global_vars;

    public function __construct(GlobalVars $global_vars)
    {
        $this->_global_vars = $global_vars;
    }

    public function onKernelController(FilterControllerEvent $event)
    {
        $this->_global_vars->append('bundles', 'mbs.other');
    }
}
这是其中一个包的my services.yml。GlobalVars是我前面提到的类

services:
    mbs.base_controller_listener:
        class: Mbs\OtherBundle\Listener\ControllerListener
        tags:
            - { name: kernel.event_listener, event: kernel.controller, method: onKernelController }
        arguments:  [ @mbs.global_vars ]

问题是我不知道插入链接菜单需要多少捆绑包。我希望其他包向基本包添加链接。我认为这是不可能的。您需要将其他bundle链接嵌入基本bundle。