php - 如何将 $request 添加到构造方法中?
问题描述
我在这个类的构造方法中定义了 Request 。
/**
* @var Request
*/
protected $request;
public function __construct(Request $request)
{
$this->request = $request;
}
现在,当我尝试在某些函数中检索帖子数据时:
public function postListsAction()
{
dd($this->request->get("title"));
}
我收到以下错误:
无法自动连接服务“App\Controller\ListController”:方法“__construct()”的参数“$request”引用类“Symfony\Component\HttpFoundation\Request”,但不存在此类服务。
我该如何解决这个问题?
解决方案
正如错误消息所说,您尝试注入的请求类未声明为服务。请改用 RequestStack:
namespace App\Newsletter;
use Symfony\Component\HttpFoundation\RequestStack;
class NewsletterManager
{
protected $requestStack;
public function __construct(RequestStack $requestStack)
{
$this->requestStack = $requestStack;
}
public function anyMethod()
{
$request = $this->requestStack->getCurrentRequest();
// ... do something with the request
}
}
问候
推荐阅读
- javascript - 嵌套承诺 - 地图函数内的地图函数
- javascript - 角度数据同步问题
- python - 如何使用 TWEEPY 修复此“未找到模块错误”?
- mysql - MySql:这个查询可以更高效吗?
- sha256 - 如何以这种格式在 PHP 中创建 SHA256 密码?
- model - “在...中评估参数 'Gain' 时出错” Simulink 错误
- javascript - 有没有办法在不发布到 NPM 的情况下将模板组件集成到本地框架中?
- javascript - 切换 Facebook 评论插件配色方案
- python - 如何设置cartopy海岸线以匹配实际纬度和经度
- javascript - 从文档片段中获取属性?