ThinkPHP5请求和响应

ThinkPHP5请求和响应:

        一、如何获取请求类
        1、系统函数
                    $request=request();
        2、系统Request类

        use think\Request;

        // 因为Request类属于单例模式 所以 不能直接new
                 $request=Request::instance();
                3、系统Request类
        use think\Request;
        // 方法的书写
                    public function index(Request $request)
                    {
                    dump($request);

                    }

        二、获取用户请求信息
        1、获取域名
        dump($request->domain());
        2、获取URL地址 除域名以外
        dump($request->url());
        3、 获取入口文件
        dump($request->baseFile());
        4、获取PathInfo路径
        dump($request->pathinfo());
        5、获取PATHINFO路径 无后缀
        dump($request->path());
        6、url地址伪静态后缀
        dump($request->ext());
        7、伪静态

        就是将路径伪装成静态页面,让搜索引擎更好收录网站,防止别人知道网站真实开发语言

        三、获取请求模块\控制器\方法
        1、控制器
        $request->controller();
        2、方法
        $request->action();
        3、模块

        $request->module();

        四、获取请求相关类型
        1、请求类型
        $request->method();
        2、请求资源类型
        $request->type();
        3、访问地址
        $request->ip();
        4、是否ajax请求
        $request->isAjax();
        5、获取所有地址栏参数
        $request->param();
        6、获取特定字段
        $request->only(['name','id']);
        7、剔除字段

        $request->except(['name','id']);

        五、获取变量
        1、判断是否存在
        dump($request->has('id','get'));
        dump(input('?get.id'));
        2、读取变量
        dump($request->get('id'));
        dump(input('get.id'));

        dump($request->get());
        dump(input('get.'));
        3、可以读取数据类型

        get、post、delete、put、session、cookie、server 等

        $request->get();
        $request->post();
        $request->put();
        $request->server();
        $request->request();
        $request->session();
        $request->cookie();

        六、变量的过滤
        1、作用
        防止恶意输入、防止sql注入
        2、使用
        01)、全部的数据进行过滤
// 单个方法过滤
$request->filter("htmlspecialchars");
// 多种方法过滤
$request->filter(["htmlspecialchars","strip_tags"]);

        02)、针对变量过滤
            $request->get('name','','htmlspecialchars');
             3、密码过滤之后加密
            dump($request->get('pass','','htmlspecialchars,md5'));

        七、变量的排除和获取
        1、获取
        $request->only('name');
        $request->only('name',get);
        $request->only(['name','pass'],get);
        2、排除
        $request->except(['name','pass'],get);
        $request->except(['name','pass']);
        $request->except('name');
        八、变量修饰符
        1、修饰变量的类型
        s 字符串
        d 整形
        f 浮点型
        a 数组
        b 布尔型
        2、使用
        dump(input('get.id/d')); // 强制转换整形

        dump($request->get('id/d'));

        九、更改变量
        // 地址栏访问 http://www.tp.com/index.php/Index/Index/xiugai?id=10
        dump($request->get('id'));  // 10
        dump($request->get(['id'=>20]));  //数组
        十、参数绑定
        1、使用
        public function banding($id,$name="admin"){
            dump($id);
            dump($name);
        }

        http://www.tp.com/index.php/index/index/banding/id/1/name/user
        2、注意
        01)、参数绑定的个数,少于地址栏参数的个数
        02)、参数绑定的名字,必须和地址栏参数名字一一对应
3、参数绑定可以设置默认值
                dump($request->get('id'));  // 20

猜你喜欢

转载自blog.csdn.net/Shaoyanlun/article/details/80526802