Php 访问控制器中的当前请求
在其他MVC框架中,访问当前请求对象就像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
$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
。@BenRequest::current()
未定义。`请求$Request`不在artisan创建的方法中<代码>请求对象在控制器的方法中几乎总是需要的,并且作为参数重复发送它肯定是一个样板。