2

我想在触发自定义事件时在 Symfony2 应用程序的内核上设置 HTTP 请求(类似于Symfony\Component\HttpKernel\Event\GetResponseEvent在内核上设置 HTTP 响应的方式)。

我遵循事件侦听器食谱并构建了一个请求,但我的自定义事件无权访问内核以将请求传递给。进一步阅读表明我需要一个容器感知事件调度程序,这里有一个快速指南

在设置下,指南说“通过将 ContainerInterface 注入到 ContainerAwareEventDispatcher 中,设置很简单”。

use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher;

$container = new ContainerBuilder();
$dispatcher = new ContainerAwareEventDispatcher($container);

该代码在我的应用程序中的什么位置?

4

1 回答 1

4

您搞混了,因为您正在尝试应用针对裸事件调度程序组件的指令。

只需在事件侦听器服务中注入容器:

my_listener:
    calls:
        - [setContainer, [@service_container]]
于 2015-11-08T10:38:50.123 回答