有没有可能在控制器中获取请求类型?怎么样?如何在Symfony2控制器中获取请求类型(主/从)?
11
A
回答
12
要检测请求是否为主,需要使用RequestStack
,这应该注入到控制器中。请求堆具有3种有用的方法
getCurrentRequest();
getMasterRequest();
getParentRequest();
的getParentRequest()
将总是返回null如果当前请求是主。
0
非常容易,只要打电话给你Request
对象的getMethod()
方法:
$method = $this->get('request')->getMethod();
这将返回当前请求的,例如HTTP方法GET
,POST
,PUT
或DELETE
。
2
我一直在寻找这个东西,它似乎只是传递,所以似乎没有一个地方知道它是什么。
我想解决这个问题的方法是创建一个简单的kernel.request侦听器,它只是向请求添加一个属性。下面粗(未经测试)代码:
public function onKernelRequest(GetResponseEvent $event)
{
$event->getRequest()->attributes->set('_request_type', $event->getRequestType());
}
然后在控制器,你应该能够做到:
$requestType = $this->getRequest()->attributes->get('_request_type');
再次,这是未经测试。您需要写出完整的监听器类并将其添加到服务配置文件中,但除此之外,我认为这将起作用。
相关问题
- 1. 如何在Symfony2中从库中获取控制器/ i18n对象?
- 2. 在codeigniter中获取请求的控制器钩预控制器
- 3. symfony2获取路由参数(控制器参数vs请求)
- 4. Symfony2在表单类型扩展名中获取请求url
- 5. laravel的模型从控制器获取请求信息
- 6. 如何获取dat.gui控制器类型?
- 7. 在DispatcherServlet中获取控制器类请求
- 8. 如何在asp.net中使用ajax请求从控制器中获取数据mvc
- 9. 如何获取Node.js请求类型?
- 10. 从ASP.Net中的控制器中的请求获取#路由MVC
- 11. 如何在symfony2中的控制器中获取实体
- 12. 从ActionResult获取请求类型
- 13. StructureMap获取请求类型
- 14. 使用ajax请求从MVC中的控制器获取数据
- 15. 如何根据JSON要求在Spring REST控制器中获取请求?
- 16. 如何在Symfony2控制器中获取动作名称?
- 17. 如何在Symfony2控制器中获取外部IP地址?
- 18. 使用MEAN堆栈从服务器控制器获取请求
- 19. 如何从控制器中获取配置(需要从控制器中获取)?
- 20. 如何使用控制器接受所有请求类型?
- 21. 如何在symfony2中的仓库类中获取控制器对象
- 22. Rails在控制器中检测请求类型?
- 23. ajax在symfony2控制器中请求处理数据
- 24. 如何从Spring控制器的AOP建议中获取RequestMapping请求?
- 25. 如何从Rails模型向控制器发出PUT请求?
- 26. Sails控制器如何获取请求历史记录
- 27. 如何使用弹簧控制器获取请求URL?
- 28. 从Rails控制器获取主机名
- 29. 从主控制器获取变量
- 30. Symfony2 - 获取主要请求的当前路由在树枝部分/子请求
Noo。我的意思是:这是请求主或子请求? – Koc
好的,对不起。在这种情况下,您必须挂钩到'kernel.request'事件并检查$ event-> getRequestType()是否等于'HttpKernelInterface :: MASTER_REQUEST'或'HttpKernelInterface :: SUB_REQUEST'。 – igorw
@igorw,你应该用你在评论中给出的答案更新你的帖子,以便它可以被提升。人们不回答不回答问题的答案。 – Quentin