HTTP Requests
Accessing The Request
To obtain an instance of the current HTTP request via dependency injection, you should type-hint the Illuminate\Http\Request
class on your controller method. The incoming request instance will automatically be injected by the service container:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { /** * Store a new user. * * @param Request $request * @return Response */ public function store(Request $request ) { $name = $request ->input( 'name' ); // } } |
Dependency Injection & Route Parameters
If your controller method is also expecting input from a route parameter you should list your route parameters after your other dependencies. For example, if your route is defined like so:
1 | Route::put( 'user/{id}' , 'UserController@update' ); |
You may still type-hint the Illuminate\Http\Request
and access your route parameter id
by defining your controller method as follows:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { /** * Update the specified user. * * @param Request $request * @param string $id * @return Response */ public function update(Request $request , $id ) { // } } |
Accessing The Request Via Route Closures
You may also type-hint the Illuminate\Http\Request
class on a route Closure. The service container will automatically inject the incoming request into the Closure when it is executed:
1 2 3 4 5 | use Illuminate\Http\Request; Route::get( '/' , function (Request $request ) { // }); |
Please login to continue.