Php 访问控制器中的当前请求

Php 访问控制器中的当前请求,php,laravel,laravel-5,laravel-request,Php,Laravel,Laravel 5,Laravel Request,在其他MVC框架中,访问当前请求对象就像$this->request一样简单。然而在Laravel中,我通常看到Request$Request通常被注入到每个操作中(public function edit($id,Request$Request))。这好像是一个样板。有没有更好的方法来访问请求?(我现在可以使用继承来使用$this->request,我正在寻找Laravel方法来实现这一点。) 更新: 我发现使用app('request')我可以访问当前请求。然而,我不确定其潜在的利弊 在La

在其他MVC框架中,访问当前请求对象就像
$this->request
一样简单。然而在Laravel中,我通常看到
Request$Request
通常被注入到每个操作中(
public function edit($id,Request$Request)
)。这好像是一个样板。有没有更好的方法来访问请求?(我现在可以使用继承来使用
$this->request
,我正在寻找Laravel方法来实现这一点。)

更新:
我发现使用
app('request')
我可以访问当前请求。然而,我不确定其潜在的利弊

在Laravel 5中,您可以使用
request()
helper:

// to get the current request object
$request = request();

// or to just get a value from the request
$value = request("field", "default");
请参见

公共函数编辑($id,Request$Request)
并不是真正的“样板文件”,它是依赖注入——这是Laravel在大多数地方的做法。如果愿意,也可以使用Facades:
Request::current()
,或者将请求保存到构造函数中的
$this->Request
。@Ben
Request::current()
未定义。`请求$Request`不在artisan创建的方法中<代码>请求对象在控制器的方法中几乎总是需要的,并且作为参数重复发送它肯定是一个样板。