• 11月29日:thinkphp框架->请求


    回忆上节知识点

            thinkphp官方文档解释

            Rest控制器:主要是对资源进行控制,在thinkphp6.0开始废弃,推荐使用资源控制器

            Rest控制器使用符合RESTFul风格,RESTFul方法和标准模式的操作方法定义主要区别在于,需要对请求类型和资源类型进行判断,大多数情况下,通过路由定义可以把操作方法绑定到某个请求类型和资源类型。

     请求信息:其中尤为重要的

    1. $request = Request::instance();
    2. //获取当前域名
    3. echo "domain:".$request->domain()."
      "
      ;

    输入变量:

    概述

    可以通过Request对象完成全局输入变量的检测、获取和安全过滤,支持包括$_GET$_POST$_REQUEST$_SERVER$_SESSION$_COOKIE$_ENV等系统变量,以及文件上传信息。

    其中$_REQUEST是$_GET和$_POST的结合体

    可使用has方法检测变量是否设置(推荐使用助手函数)

    1. //has():检测变量是否设置
    2. $request = Request::instance();
    3. echo "变量是否设置:".$request->has("id",'get');
    4. input('?get.id');//input()助手函数

    变量获取:

    input('get.'):其中get.代表的意思是获取当前get请求的所有变量

    更改变量(不常用)

            通常不会对已设置的变量进行更改,可直接设置变量为你想要的变量值

    请求类型

    1. //请求类型
    2. // 是否为 GET 请求
    3. if (Request::instance()->isGet()) echo "当前为 GET 请求";
    4. // 是否为 Ajax 请求
    5. if (Request::instance()->isAjax()) echo "当前为 Ajax 请求";
    6. // 是否为 cgi
    7. if (Request::instance()->isCgi()) echo "当前为 cgi"; //cgi代表浏览器访问
    8. // 是否为 cli
    9. if (Request::instance()->isCli()) echo "当前为 cli"; //cli代表在命令行窗口下进行访问
    1. // 是否为手机访问
    2. if (Request::instance()->isMobile()) echo "当前为手机访问";
    判断是否为手机访问

     请求伪装(很少使用)

    支持请求类型伪装,可以在POST表单里面提交_method变量,传入需要伪装的请求类型,例

    1. <form method="post" action="">
    2. <input type="text" name="name" value="Hello">
    3. <input type="hidden" name="_method" value="PUT"> //hidden表示隐藏域,是不会显示dom结构中,默认自动提交
    4. <input type="submit" value="提交">
    5. form>

     HTTP头信息

    访问网站,请求头中含有的信息 

     伪静态:

    当前处于动态网页发展时代,使用伪静态将动态网页伪装成静态网页,方便爬虫在爬取时进行爬取,以用来提高搜索的高匹配度

     方法注入,属性注入,参数绑定在后续开发中很少使用

    依赖注入

    依赖注入,你可以分开理解。拆成,依赖和注入依赖:当前你需要调用request对象的get方法,所以你必须要先能得到request对象,然后才能使用这个方法。这个就是依赖。注入:怎么得到request对象呢?一种是你直接$request=new Request()可以得到,这种也称为主动获取,还有一种就是把整个对象当做一个参数传进来,类型你这样的写法,然后去使用。

  • 相关阅读:
    关键的服务器硬件组件及其基本功能
    【SnowFlake】雪花算法(Java版本)
    【LeetCode每日一题】2022-10-01 1694. 重新格式化电话号码 Java实现
    jquery ajax跨域解决方法(json方式)
    coredns无法启动
    大数据Hive的beyond the ‘VIRTUAL‘ memory limit
    “传统文化宣传片+虚拟人动捕设备”前景如何?
    Python基础095:Python读取PDF中的字符
    C语言竞赛
    2023年吉安市“振兴杯”职业技能大赛网络安全项目样题
  • 原文地址:https://blog.csdn.net/qq_53457276/article/details/128092956