取得请求实例
通过 Facade
Request facade 允许你访问当前绑定容器的请求。例如:
$name = Request::input('name');
切记,如果你在一个命名空间中,你必须导入 Request facade,接着在类的上方声明 use Request;。
通过依赖注入
要通过依赖注入的方式取得 HTTP 请求的实例,你必须在控制器中的构造函数或方法对该类使用类型提示。当前请求的实例将会自动由服务容器注入:
<?php namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
class UserController extends Controller {
/**
* Store a new user.
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
$name = $request->input('name');
//
}
}
如果你的控制器也有从路由参数传入的输入数据,只需要将路由参数置于其他依赖之后:
<?php namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
class UserController extends Controller {
/**
* Store a new user.
*
* @param Request $request
* @param int $id
* @return Response
*/
public function update(Request $request, $id)
{
//
}
}