如何检索请求从服务容器

编辑该页面

警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 3.0,不再维护。

这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。

如何检索请求从服务容器

每当你需要访问当前请求的服务,您可以将它作为参数添加到需要请求或注入的方法request_stack服务和访问请求通过调用getCurrentRequest ()方法:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 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 "]

提示

如果你定义一个控制器作为服务就可以得到请求对象没有注入容器,它作为参数传入你的动作方法。看到控制器获取详细信息。

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。