【发布时间】:2017-12-30 15:47:03
【问题描述】:
使用http://symfony.com/doc/current/templating/embedding_controllers.html,目标控制器如何知道请求是来自HTTP 还是来自模板?
【问题讨论】:
使用http://symfony.com/doc/current/templating/embedding_controllers.html,目标控制器如何知道请求是来自HTTP 还是来自模板?
【问题讨论】:
您有多种方法可以做到这一点。更简单的解决方案是注入request_stack 服务,并检查getParentRequest 是否为空。如果为空,则请求来自主请求。
use Symfony\Component\HttpFoundation\RequestStack;
// ...
public function indexAction(RequestStack $requestStack)
{
$isMasterRequest = $requestStack->getParentRequest() === null;
【讨论】:
$request->getMasterRequest()这样的东西?
RequestStack 有一个 getMasterRequest 方法。 Request 对象没有,但你可以有一个事件监听器在子请求的事件中添加一些有用的属性。