在其他MVC框架中,访问当前请求对象就像这样简单:
更新:
我发现使用
$this->request
。然而在Laravel中,我通常看到Request $request
被注入到每个操作中(public function edit($id, Request $request)
)。它似乎是一个样板文件。有没有更好的方法来访问请求?(我知道我可以使用继承来使用$this->request
,但我正在寻找Laravel的方法。)更新:
我发现使用
app('request')
可以访问当前请求。然而,我不确定它的潜在优缺点。
public function edit($id, Request $request)
并不是"样板代码",它使用了依赖注入 - 这是 Laravel 大多数地方的做法。您也可以使用 Facades:Request::current()
,或者将请求保存到构造函数中的$this->request
变量中。 - Ben ClaarRequest::current()
未定义。Request $request
不在由 Artisan 创建的方法中。request
对象几乎总是需要在控制器方法中,并且重复作为参数发送肯定是样板文件。 - Handsome Nerd