Symfony kernel.controller 事件发送响应
Symfony kernel.controller event send response
就我阅读的 Symfony 文档而言,我找不到任何关于 kernel.controller
事件中的响应处理的信息。
对于 kernel.request
事件,文档说:
If a Response is returned at this stage, the process skips directly to the kernel.response event.
但是 kernel.controller
事件呢?
如果我在 kernel.controller
事件侦听器中返回响应,则响应会发送到客户端,但不会取消进程并调用请求的控制器操作。
是否可以在 kernel.controller
事件中发送响应而不继续到请求的控制器?
间接地,您可以通过更改 FilterControllerEvent 中的控制器。
您可以将任何可调用对象用作控制器,前提是它 return最终是一个 Response 对象。在您的事件侦听器中,您可以执行以下操作:
$event->setController(function() {
return new Response();
});
当然,您可以 return 在您的控制器中做出任何类型的响应。
就我阅读的 Symfony 文档而言,我找不到任何关于 kernel.controller
事件中的响应处理的信息。
对于 kernel.request
事件,文档说:
If a Response is returned at this stage, the process skips directly to the kernel.response event.
但是 kernel.controller
事件呢?
如果我在 kernel.controller
事件侦听器中返回响应,则响应会发送到客户端,但不会取消进程并调用请求的控制器操作。
是否可以在 kernel.controller
事件中发送响应而不继续到请求的控制器?
间接地,您可以通过更改 FilterControllerEvent 中的控制器。
您可以将任何可调用对象用作控制器,前提是它 return最终是一个 Response 对象。在您的事件侦听器中,您可以执行以下操作:
$event->setController(function() {
return new Response();
});
当然,您可以 return 在您的控制器中做出任何类型的响应。