laravel使用$request方法合集

Song1405 次浏览0个评论2022年08月08日

Laravel的Requets支持多种方法:

// 没有包含查询条件字符串
$url = $request->url();

// 包含查询条件字符串
$url = $request->fullUrl();

// 获取请求路径,不包含域名
$uri = $request->path();

// 请求方法验证
if ($request->is('user/*')) {
    //验证成功
}

// 获取请求方法
$method = $request->method();

if ($request->isMethod('post')) {
    // 是post请求
}


// 获取所有的请求数据
$input = $request->all();

// 获取其中一个请求,第二个参数可选,如果name值不存在,那就使用第二个参数的值
$name = $request->input('user', 'guest');

// 获取请求数据中数组的值
$name = $request->input('products.0.name');

// query 仅获取查询字符串中的数据
$query = $request->query();

// query 仅从查询字符串中返回数据, 第二个值非必填,如有为默认值
$name = $request->query('user', 'guest');

// 获取查询数据中 name 字段的数据
$name = $request->name;

// 数据转换成boolean值  1、"1"、true、"true"、"on" 和 "yes" 返回为 true,其他值将会返回 false
$isVip = $request->boolean('isVip');

// only 获取指定字段数据(字段不存在则不返回)
$input = $request->only(['username', 'password']);

$input = $request->only('username', 'password');

// except 获取除了指定数据之外的全部数据
$input = $request->except(['update_time']);

$input = $request->except('update_time');

// 请求中是否存在指定的值
if ($request->has('name')) {
    //存在name
}

// 也可以接收数组,全部存在返回true
if ($request->has(['name', 'email'])) {
    //饿汉子
}

// 有一个值存在即返回true
if ($request->hasAny(['name', 'email'])) {
    //饱汉子
}

// 判断值存在且不为空(超级福利!终于可以告别isset + empty方式校验了)
if ($request->filled('name')) {
    //name存在且不为空
}

// 请求数据中是否没有这个值
if ($request->missing('name')) {
    //不存在name
}

// 将请求数据存储到session 
$request->flash();

// 将指定请求数据存储到session 
$request->flashOnly(['username', 'email']);

// 除了指定数据外,将其余请求数据存储到session 
$request->flashExcept('password');

// 获取之前使用flash方法存储在session内的数据
$username = $request->old('username');

// 获取cookie
$name = $request->cookie('name');
//或者
$name = Cookie::get('name');

// 获取上传的文件
$file = $request->file('photo');
//或者
$file = $request->photo;

// 是否上传了指定文件
if ($request->hasFile('photo')) {
    //上传了photo文件
}

// 验证文件是否上传成功
if ($request->file('photo')->isValid()) {
    //上传成功
}

// 文件路径
$path = $request->photo->path();

// 文件扩展名
$extension = $request->photo->extension();

// 存储文件,image是存储目录,文件名自动生成唯一id
$path = $request->photo->store('images');

// tore 方法还接受可选的第二个参数,用于存储文件的磁盘名称。这个方法会返回相对于磁盘根目录的文件路径
$path = $request->photo->store('images', 's3');

// 不想自动生成文件名,而是自定义文件名,使用storeAs
$path = $request->photo->storeAs('images', 'filename.jpg');

$path = $request->photo->storeAs('images', 'filename.jpg', 's3');

提交评论

请登录后评论

用户评论

    当前暂无评价,快来发表您的观点吧...

更多相关好文