TP5.0获取请求类和URL基本信息

1、如何获取请求类

     系统函数:request();

     系统类:

          use think\Request;

          $request = Request::instance();//因为request是单例模式 所以不能直接new

     系统控制器类:

          use think\Request;

          public function index(Request $request){

               dump($request);

          }

2、获取用户请求信息

     $request = Request::instance();

     // 获取当前域名

     echo 'domain: ' . $request->domain() . '<br/>';

     // 获取当前入口文件

     echo 'file: ' . $request->baseFile() . '<br/>';

     // 获取当前URL地址 不含域名

     echo 'url: ' . $request->url() . '<br/>';

     // 获取包含域名的完整URL地址

     echo 'url with domain: ' . $request->url(true) . '<br/>';

     // 获取当前URL地址 不含QUERY_STRING

     echo 'url without query: ' . $request->baseUrl() . '<br/>';

     // 获取URL访问的ROOT地址

     echo 'root:' . $request->root() . '<br/>';

     // 获取URL访问的ROOT地址

     echo 'root with domain: ' . $request->root(true) . '<br/>';

     // 获取URL地址中的PATH_INFO信息

     echo 'pathinfo: ' . $request->pathinfo() . '<br/>';

     // 获取URL地址中的PATH_INFO信息 不含后缀

     echo 'pathinfo: ' . $request->path() . '<br/>';

     // 获取URL地址中的后缀信息

     echo 'ext: ' . $request->ext() . '<br/>';

 

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

3、获取请求模块/控制器/请求方法

     模块:$request->module();

     方法:$request->action();

     控制器:$request->controller();

4、获取请求相关类型

     请求类型:$request->method();

     请求资源类型:$request->type();

     访问地址:$request->ip();

     是否是ajax请求:$request->isAjax();

     获取请求参数:$request->param();

                             $request->only(['name','id']);//只获取特定字段

                             $request->except(['name','id']);//剔除取特定字段

5、获取变量

     判断是否存在

          $request->has('id','get');

          input('?get.id');

     读取变量

          $request->get('id');

          input('get.id');

          读取所有 input('get.');

                        $request->get();

     可读取数据类型:get、post、put、session、cookie等

6、变量过滤

     作用:防止恶意输入,防止sql注入

     使用:

          全部数据过滤

               $request->filter('htmlspecialchars');

               $request->filter(['htmlspecialchars','strip_tags']);

          针对变量过滤

               $request->get('name','','htmlspecialchars');

          过滤之后加密

               $request->get('name','','htmlspecialchars,md5');

7、变量的排除和获取

     $request->only('name');

     $request->except('name');

8、变量的修饰符

       修饰符     作用

        s           强制转换为字符串类型

        d           强制转换为整型类型

        b           强制转换为布尔类型

        a           强制转换为数组类型

        f            强制转换为浮点类型

    input('get.id/d');//强制转换成整型

    input('get.name/s');//强制转换成字符串

9、变量的更改

     地址栏访问:http://www.tp5.net/index.php/index/index/index?id=10

     $request->get(['id'=>9]

10、判断请求类型

     // 是否为 GET 请求

     if ($request->isGet()) echo "当前为 GET 请求";

     // 是否为 POST 请求

     if ($request->isPost()) echo "当前为 POST 请求";

     // 是否为 PUT 请求

     if ($request->isPut()) echo "当前为 PUT 请求";

     // 是否为 DELETE 请求

     if ($request->isDelete()) echo "当前为 DELETE 请求";

     // 是否为 Ajax 请求

     if ($request->isAjax()) echo "当前为 Ajax 请求";

     // 是否为 Pjax 请求

     if ($request->isPjax()) echo "当前为 Pjax 请求";

     // 是否为手机访问

     if ($request->isMobile()) echo "当前为手机访问";

     // 是否为 HEAD 请求

     if ($request->isHead()) echo "当前为 HEAD 请求";

     // 是否为 Patch 请求

     if ($request->isPatch()) echo "当前为 PATCH 请求";

     // 是否为 OPTIONS 请求

     if ($request->isOptions()) echo "当前为 OPTIONS 请求";

     // 是否为 cli

     if ($request->isCli()) echo "当前为 cli";

     // 是否为 cgi

     if ($request->isCgi()) echo "当前为 cgi";

 

     request()->isGet();

11、模拟put、delete请求

       使用:

       <form action=""  method="post" >

            <input type="hidden" name ="_method" value="PUT">

       </form>

       注意:

            表单的请求类型必须是post

            需要设置隐藏域传递模拟请求类型

12、伪静态

       作用:满足更好的seo优化,为了网站的安全

       修改伪静态:'url_html_suffix'        => 'html'

       获取伪静态后缀:$request->ext();

13、参数绑定

       使用:public function bingding($name){

                         echo $name;

                 }

        注意:参数绑定的个数少于地址栏参数的个数,

                  参数绑定的名字必须和地址栏的参数名一致,

                  参数绑定可以设置默认值

原文出处:https://jingyan.baidu.com/article/77b8dc7fa46dc46174eab637.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值