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

10 篇文章 0 订阅

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;

                 }

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

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

                  参数绑定可以设置默认值

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值