내가이 달성 방법이다. 변수를 클래스 내부의 정적 변수에 저장합니다.
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');
}
}
이 번들 중 하나에 대한 내 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 ]
문제는 링크 메뉴를 삽입하는 데 필요한 번들 수가 얼마나되는지 모르겠습니다. 다른 번들이 기본 번들에 링크를 추가하기를 원합니다. – Menthas
나는 그것이 불가능하다고 생각한다. 대신 다른 번들 링크를 기본 번들에 포함시켜야합니다. –