获取请求
要通过依赖注入的方式来获取当前 HTTP 请求的实例,你应该在控制器方法中使用 Illuminate\Http\Request 类型提示。当前的请求实例将通过 服务容器 自动注入:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
/**
* 储存一个新用户。
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
$name = $request->input('name');
//
}
}
$request->input('name'); 中的 name 是表单控制名称。
依赖注入 & 路由参数
如果控制器方法也有输入数据是从路由参数中传入的,只需将路由参数置于其他依赖之后。 例如,你的路由是这样定义的:
Route::put('user/{id}', 'UserController@update');
只要像下方一样定义控制器方法,你就可以使用 Illuminate\Http\Request 类型提示了,同时获取到路由参数 id:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
/**
* 更新指定的用户。
*
* @param Request $request
* @param string $id
* @return Response
*/
public function update(Request $request, $id)
{
//
}
}
网友评论