Accessing the current request in controller

PHPst picture PHPst · Aug 9, 2015 · Viewed 7.1k times · Source

In other MVC frameworks, accessing to the current request object is as simple as $this->request. However in the Laravel, I generally see that Request $request is generally injected to each action (public function edit($id, Request $request)). It seems like a boilerplate. Is there any better way to access the request? (I now that I can use inheritance to use $this->request, I am looking for the Laravel way to do that.)

update:

I found out using app('request') I can access to the current request. However, I am not sure of its potential pros and cons.

Answer

miken32 picture miken32 · Jul 6, 2018

In Laravel 5, you can use the request() helper:

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

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

See https://laravel.com/docs/5.6/helpers#method-request