php – 为什么Symfony 2.8服务中的请求对象是空的?
发布时间:2020-12-13 17:00:59 所属栏目:PHP教程 来源:网络整理
导读:在Symfony 2.8服务中有这项服务: services: app.admin_menu: class: GRFAdminPanelBundleServiceMenu shared: false arguments: [@request_stack] 并在服务构造中: public function __construct(RequestStack $request){ exit(var_dump($request));} 并
在Symfony 2.8服务中有这项服务:
services: app.admin_menu: class: GRFAdminPanelBundleServiceMenu shared: false arguments: [@request_stack] 并在服务构造中: public function __construct(RequestStack $request) { exit(var_dump($request)); } 并在浏览器中: object(SymfonyComponentHttpFoundationRequestStack)#261 (1) { ["requests":"SymfonyComponentHttpFoundationRequestStack":private]=> array(0) { } } 如何在服务中访问当前请求???现在当前请求为空 解决方法
我有一个
similar issue.
解决方案是尽可能晚地尝试访问RequestStack对象,以便内核有机会填充它. 基本上,不要尝试在构造函数中访问它. 我把它的访问权移到了一个后来调用的方法中,它为我解决了它. private $requestStack; public function __construct(RequestStack $request) { $this->requestStack = $request; } public function outputRequestStack() { exit(var_dump($this->requestStack)); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |