如何从服务容器中检索请求
编辑本页警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 3.2,现已不再维护。
读本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。
如何从服务容器中检索请求
每当您需要访问服务中的当前请求时,您可以将其作为参数添加到需要该请求的方法中,或者将request_stack
服务和访问请求
通过调用getCurrentRequest ()方法:
12 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21
名称空间AppBundle\欧宝app在哪里找通讯;使用欧宝娱乐app下载地址\组件\HttpFoundation\RequestStack;类欧宝app在哪里找NewsletterManager{受保护的$requestStack;公共函数__construct(RequestStack$requestStack){$这->requestStack =$requestStack;}公共函数anyMethod(){$请求=$这->requestStack->getCurrentRequest ();/ /……对请求做些什么}/ /……}
现在,注入request_stack
,它的行为像任何正常的服务:
- YAML
- XML
- PHP
1 2 3 4 5
# src / AppBundle /资源/ config / services.yml服务:欧宝app在哪里找newsletter_manager:类:AppBundle 欧宝app在哪里找\通讯\ NewsletterManager参数:[" @request_stack "]
提示
如果将控制器定义为服务,则可以获得请求
对象,而不注入容器,通过将其作为操作方法的参数传入。看到控制器获取详细信息。
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。