Laravel5.6请求处理组件

使用前提:

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();//存储扩展名

标签: 无

发表评论: