使用前提:
use Illuminate\Http\Request;
使用方式:
public function test(Request $request)
{
$name = $request->input('name');
}
路由参数:
Route::put('user/{id}','UserController@update');
public function update(Request $request, $id)
{
//
}
获取请求路径
$path = $request->path();
请求路径判断
if($request->is('user/*')){
//
}
获取请求URL
$url = $request->url();//不包含查询字符串
$url_with_query = $request->fullUrl();//包含查询字符串
获取请求方式
$method = $request->method(); // GET/POST
if($request->isMethod('post')){
// true or false
}
获取全部传参
$input = $request->all();
获取单个传参
$name = $request->input('name');
$name = $request->input('name', 'default');//给定默认值
$input = $request->input('products.0.name');//获取数组方式传参中的值
只获取url传参
$name = $request->query('name');
$name = $request->query('name', 'default');//给定默认值
$query = $request->query();//全部传参
快速取值
$name = $request->name;//获取传参中name的值
快速从json中取值
$name = $request->input('user.name');//需请求头有Content-Type:application/json
限制部分传参
$input = $request->only(['username', 'password']);
$input = $request->only('username', 'password');
$input = $request->except(['credit_card']);
$input = $request->except('credit_card');
判断参数存在
if ($request->has('name')) {
//
}
if ($request->has(['name', 'email'])) {
//需同时存在
}
快速判断参数存在且有值
if ($request->filled('name')) {
//
}
取得Cookie
$value = $request->cookie('name');
$value = Cookie::get('name');
种植Cookie
return response('响应内容')->cookie(
'name', 'Cookie内容', $minutes, $path, $domain, $secure, $httpOnly
);
文件上传
$file = $request->file('photo');//获取文件对象
$file = $request->photo;//获取文件对象
if ($request->hasFile('photo')) {
//是否有文件上传
}
if ($request->file('photo')->isValid()){
//文件在上传是否出错
}
$path = $request->photo->path();//存储文件绝对路径
$extension = $request->photo->extension();//存储扩展名