ThinkPHP5.0中Request请求对象的使用和常用的操作

request的使用

第一种方法

在控制器头部添加request引用

这里写图片描述

然后在方法里调用 ‘instance’类

这里写图片描述

然后在调用方法:
这里写图片描述

public function index($name='name')
    {
        $request = Request::instance();

        echo '请求方法:'.$request->method() . '<br/>';

        echo '资源类型:'.$request->type() . '<br/>';

        echo '访问ip:'.$request->ip() . '<br/>';

        echo '是否为ajax请求:'.var_export($request->isAjax(), true) . '<br/>';

        echo '请求参数:';
        dump($request->param());

        echo '请求参数:仅包含name';
        dump($request->only(['name']));

        echo '请求参数:排除name';
        dump($request->except(['name']));

        echo '资源类型:'.$request->type() . '<br/>';
        echo '<br/>操作:'.$request->action();
        echo '获取当前域名:'.$request->domain() . '<br/>';

        // 获取当前入口文件
        echo '获取当前入口文件:'.$request->baseFile() . '<br/>';

        // 获取当前URL地址,不含域名
        echo '获取当前URL地址,不含域名:'.$request->url() . '<br/>';

        // 获取包含域名的完整url地址
        echo '获取包含域名的完整url地址:'.$request->url(true) . '<br/>';

        // 获取URL地址 不含QUERY_STRING
        echo '获取URL地址 不含QUERY_STRING:'.$request->baseurl() . '<br/>';

        // 获取URL访问的ROOT地址
        echo '获取URL访问的ROOT地址:'.$request->root() . '<br/>';

        // 获取URL访问的ROOT地址
        echo '获取URL访问的ROOT地址 :'.$request->root(true) . '<br/>';

        // 获取URL地址中的 PATH_INFO 信息
        echo '获取URL地址中的 PATH_INFO 信息:'.$request->pathinfo() . '<br/>';

        // 获取URL地址中的 PATH_INFO 信息,不含后缀
        echo '获取URL地址中的 PATH_INFO 信息,不含后缀:'.$request->path() . '<br/>';

        // 获取URL地址中的后缀信息
        echo '获取URL地址中的后缀信息:'.$request->ext() . '<br/>';
      Session::set('name','thinkphp');
      Cookie::set('name','thinkphp2');
        dump($request->route());
        dump($request->dispatch());
        echo Session::get('name');


    }

结果是:

这里写图片描述

因为屏幕不够大所以还有一部分没有截图上来,但是大家只要知道怎么使用就可以了。

第二种方法

这个方法比较简单但是也稍微有点麻烦,他只要引用Controller类然后继承它就可以调用不用在像上面一样还要先引用request然后还要在方法里调用$request = Request::instance(); 然后才可以使用。

引用Controller这个和上面引用request是一样的 
use think\Controller

这里写图片描述

然后在控制器里继承controller

这里写图片描述

最后调用 ‘request’
是不是比方法一稍微麻烦? 每次调用的时候都需要在前面加$this->request

这里写图片描述

整体代码是:

 public function test(){
// 获取当前域名
        echo 'domain: ' . $this->request->domain() . '<br/>';
// 获取当前入口文件
        echo 'file: ' . $this->request->baseFile() . '<br/>';
// 获取当前URL地址 不含域名
        echo 'url: ' . $this->request->url() . '<br/>';
// 获取包含域名的完整URL地址
        echo 'url with domain: ' . $this->request->url(true) . '<br/>';
// 获取当前URL地址 不含QUERY_STRING
        echo 'url without query: ' . $this->request->baseUrl() . '<br/>';
// 获取URL访问的ROOT地址
        echo 'root:' . $this->request->root() . '<br/>';
// 获取URL访问的ROOT地址
        echo 'root with domain: ' . $this->request->root(true) . '<br/>';
// 获取URL地址中的PATH_INFO信息
        echo 'pathinfo: ' . $this->request->pathinfo() . '<br/>';
// 获取URL地址中的PATH_INFO信息 不含后缀
        echo 'pathinfo: ' . $this->request->path() . '<br/>';
// 获取URL地址中的后缀信息
        echo 'ext: ' . $this->request->ext() . '<br/>';

        echo "当前模块名称是" . $this->request->module();
        echo "当前控制器名称是" . $this->request->controller();
        echo "当前操作名称是" . $this->request->action();
        echo '请求方法:' . $this->request->method() . '<br/>';
        echo '资源类型:' . $this->request->type() . '<br/>';
        echo '访问ip地址:' . $this->request->ip() . '<br/>';
        echo '是否AJax请求:' . var_export($this->request->isAjax(), true) . '<br/>';
        echo '请求参数:';
        dump($this->request->param());
        echo '请求参数:仅包含name';
        dump($this->request->only(['name']));
        echo '请求参数:排除name';
        dump($this->request->except(['name']));
    }

--------------------- 
作者:宇域乱步 
来源:CSDN 
原文:https://blog.csdn.net/u012600104/article/details/78845325 
版权声明:本文为博主原创文章,转载请附上博文链接!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值