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

request的使用

第一种方法

在控制器头部添加request引用

ThinkPHP5.0中Request请求对象的使用和常用的操作_第1张图片

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

ThinkPHP5.0中Request请求对象的使用和常用的操作_第2张图片

然后在调用方法:
ThinkPHP5.0中Request请求对象的使用和常用的操作_第3张图片

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

        echo '请求方法:'.$request->method() . '
'
; echo '资源类型:'.$request->type() . '
'
; echo '访问ip:'.$request->ip() . '
'
; echo '是否为ajax请求:'.var_export($request->isAjax(), true) . '
'
; echo '请求参数:'; dump($request->param()); echo '请求参数:仅包含name'; dump($request->only(['name'])); echo '请求参数:排除name'; dump($request->except(['name'])); echo '资源类型:'.$request->type() . '
'
; echo '
操作:'
.$request->action(); echo '获取当前域名:'.$request->domain() . '
'
; // 获取当前入口文件 echo '获取当前入口文件:'.$request->baseFile() . '
'
; // 获取当前URL地址,不含域名 echo '获取当前URL地址,不含域名:'.$request->url() . '
'
; // 获取包含域名的完整url地址 echo '获取包含域名的完整url地址:'.$request->url(true) . '
'
; // 获取URL地址 不含QUERY_STRING echo '获取URL地址 不含QUERY_STRING:'.$request->baseurl() . '
'
; // 获取URL访问的ROOT地址 echo '获取URL访问的ROOT地址:'.$request->root() . '
'
; // 获取URL访问的ROOT地址 echo '获取URL访问的ROOT地址 :'.$request->root(true) . '
'
; // 获取URL地址中的 PATH_INFO 信息 echo '获取URL地址中的 PATH_INFO 信息:'.$request->pathinfo() . '
'
; // 获取URL地址中的 PATH_INFO 信息,不含后缀 echo '获取URL地址中的 PATH_INFO 信息,不含后缀:'.$request->path() . '
'
; // 获取URL地址中的后缀信息 echo '获取URL地址中的后缀信息:'.$request->ext() . '
'
; Session::set('name','thinkphp'); Cookie::set('name','thinkphp2'); dump($request->route()); dump($request->dispatch()); echo Session::get('name'); }

结果是:

ThinkPHP5.0中Request请求对象的使用和常用的操作_第4张图片

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

第二种方法

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

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

ThinkPHP5.0中Request请求对象的使用和常用的操作_第5张图片

然后在控制器里继承controller

ThinkPHP5.0中Request请求对象的使用和常用的操作_第6张图片

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

ThinkPHP5.0中Request请求对象的使用和常用的操作_第7张图片

整体代码是:

    public function test(){
// 获取当前域名
        echo 'domain: ' . $this->request->domain() . '
'
; // 获取当前入口文件 echo 'file: ' . $this->request->baseFile() . '
'
; // 获取当前URL地址 不含域名 echo 'url: ' . $this->request->url() . '
'
; // 获取包含域名的完整URL地址 echo 'url with domain: ' . $this->request->url(true) . '
'
; // 获取当前URL地址 不含QUERY_STRING echo 'url without query: ' . $this->request->baseUrl() . '
'
; // 获取URL访问的ROOT地址 echo 'root:' . $this->request->root() . '
'
; // 获取URL访问的ROOT地址 echo 'root with domain: ' . $this->request->root(true) . '
'
; // 获取URL地址中的PATH_INFO信息 echo 'pathinfo: ' . $this->request->pathinfo() . '
'
; // 获取URL地址中的PATH_INFO信息 不含后缀 echo 'pathinfo: ' . $this->request->path() . '
'
; // 获取URL地址中的后缀信息 echo 'ext: ' . $this->request->ext() . '
'
; echo "当前模块名称是" . $this->request->module(); echo "当前控制器名称是" . $this->request->controller(); echo "当前操作名称是" . $this->request->action(); echo '请求方法:' . $this->request->method() . '
'
; echo '资源类型:' . $this->request->type() . '
'
; echo '访问ip地址:' . $this->request->ip() . '
'
; echo '是否AJax请求:' . var_export($this->request->isAjax(), true) . '
'
; echo '请求参数:'; dump($this->request->param()); echo '请求参数:仅包含name'; dump($this->request->only(['name'])); echo '请求参数:排除name'; dump($this->request->except(['name'])); }

最后的结果图:
ThinkPHP5.0中Request请求对象的使用和常用的操作_第8张图片

想要了解更多请参考文档

你可能感兴趣的:(thinkphp5.0)