美文网首页laravel
laravel Request 请求

laravel Request 请求

作者: 空气KQ | 来源:发表于2019-02-27 09:50 被阅读0次

    获取请求路径

    path()

    http://domain.com/user/1
    $path = $request->path();
    则 path 方法将会返回 user/1:

    is 验证请求路径是否与给定模式匹配

    if($request->is('user/*')){
        //
    }
    

    一般可用于权限判断或者是选中导航状态等

    获取请求 URL
    // 不包含查询字符串 $url = $request->url();

    包含查询字符串fullUrl()
    $url_with_query = $request->fullUrl();

    请求方法判断method()

    $method = $request->method(); // GET/POST
    
    if($request->isMethod('post')){ 
        // true or false
    }
    

    获取请求输入

    单个输入值 $request->input('name');

    获取所有输入值request->all();数组格式获取所有输入值

    处理表单数组输入时,可以使用”.”来访问数组输入

    $input = $request->input('products.0.name');
    $names = $request->input('products.*.name');
    

    从查询字符串中获取输入
    $name = $request->query('name');

    动态属性获取输入
    $name = $request->name;
    首先会在请求中查找参数的值,如果不存在,还会到路由参数中查找

    获取输入的部分数据
    可以使用 only 或 except 方法

    判断请求参数是否存在

    if ($request->has('name')) { // }
    查询多个参数

    if ($request->has(['name', 'email'])) {
        //
    }
    

    判断参数存在且参数值不为空,可以使用 filled 方法:

    if ($request->filled('name')) {
        //
    }
    

    将输入存储到 Session

    $request->flash();

    flashOnly 和 flashExcept 方法将输入数据子集存放到 Session 中,这些方法在 Session 之外保存敏感信息时很有用,该功能适用于登录密码填写错误的场景

    $request->flashOnly('username', 'email');
    $request->flashExcept('password');
    

    将输入存储到 Session 然后重定向

    redirect 之后调用 withInput

    return redirect('form')->withInput();
    return redirect('form')->withInput($request->except('password'));
    

    取出上次请求数据

    $username = $request->old('username');
    old('name')

    从请求中取出Cookie

    $request->cookie('name');
    $value = Cookie::get('name');

    Cookie 到响应

    return response('欢迎来到 Laravel 学院')->cookie(
        'name', '学院君', $minutes, $path, $domain, $secure, $httpOnly
    );
    

    生成 Cookie 实例

    以使用全局辅助函数 cookie,该 Cookie 只有在添加到响应实例上才会发送到客户端

    $cookie = cookie('name', '学院君', $minutes);
    return response('欢迎来到 Laravel 学院')->cookie($cookie);
    

    文件上传

    获取上传文件file

    $file = $request->file('photo');
    $file = $request->photo;
    

    是否存在

    if ($request->hasFile('photo')) {
        //
    }
    

    否上传成功

    if ($request->file('photo')->isValid()){
        //
    }
    

    文件路径和扩展名

    $path = $request->photo->path();
    $extension = $request->photo->extension();
    

    总结

    Request 说白了就是封装了原本属于post,get,put等方法的汇聚,还封装了cookie。

    相关文章

      网友评论

        本文标题:laravel Request 请求

        本文链接:https://www.haomeiwen.com/subject/rwcxuqtx.html