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']));
    }最后的结果图: 
ThinkPHP5.0中Request请求对象的使用和常用的操作的更多相关文章
- ThinkPHP5.0中Request请求对象的常用操作
		获取当前系统参数 // 获取当前域名 echo '获取当前域名:'.$request->domain() . '<br/>'; // 获取当前入口文件 echo '获取当前入口文件: ... 
- Servlet的学习之Request请求对象(2)
		在上一篇<Servlet的学习(十)>中介绍了HttpServletRequest请求对象的一些常用方法,而从这篇起开始介绍和学习HttpServletRequest的常用功能. 使用Ht ... 
- Servlet的学习之Request请求对象(3)
		本篇接上一篇,将Servlet中的HttpServletRequest对象获取RequestDispatcher对象后能进行的[转发]forward功能和[包含]include功能介绍完. 首先来看R ... 
- JSP内置九个对象Request请求对象
		jsp内置对象是什么呢? 例如Java语言使用一个对象之前需要实例化(也就是所说的new一个对象),创建对象这个过程有点麻烦,所以在jsp中提供了一些内置对象,用来实现很多jsp应用.在使用内置对象时 ... 
- 在thinkphp5.0中调用ajax时, 返回的JSON 格式数据在html前台不能用时
		在thinkphp5.0中调用ajax时,如果控制器返回的数据为json格式,视图层接收到返回值即为json格式的数据,此时应该把 JSON 文本转换为 JavaScript 对象,方便调用.具体代码 ... 
- opa gatekeeper笔记:AdmissionReview input.request请求对象结构
		官方:https://v1-17.docs.kubernetes.io/zh/docs/reference/access-authn-authz/extensible-admission-contro ... 
- Swift2.0 中的String(一):常用属性
		字符串算是平常用的比较多.花样也比较多的一个类型,昨天有空把相关的一些常用操作都写了一遍,总结出来.其实iOS里面的字符串更复杂,还有NSString系列等等,那些API太多将来需要用的时候再慢慢学. ... 
- Servlet的学习之Request请求对象(1)
		在本篇中开始对Servlet中的HttpServletRequest请求对象进行学习,请求对象同响应对象一样,我们可以根据该对象中的方法获取例如请求行,请求头和请求实体数据的方法. 在本篇中先对Htt ... 
- springMVC中 request请求数据绑定到Controller入参 过程剖析
		前言:Controller方法的参数类型可以是基本类型,也可以是封装后的普通Java类型.若这个普通Java类型没有声明任何注解,则意味着它的每一个属性都需要到Request中去查找对应的请求参数.众 ... 
随机推荐
- 斯坦福CS229机器学习课程笔记 part2:分类和逻辑回归 Classificatiion and logistic regression
			Logistic Regression 逻辑回归 1.模型 逻辑回归解决的是分类问题,并且是二元分类问题(binary classification),y只有0,1两个取值.对于分类问题使用线性回归不 ... 
- SQL语句 表字段的操作 添加,删除,修改表的字段
			alter table 表名 drop constraint 约束名字 //删除字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for ... 
- (转)Mac下MySql安装经历(含安装错误排查、卸载多种折腾)
			在安装mysql的时候,活活折腾我两天.结果终于被我折腾成功了……一开始我就放了个错误:我下了32位版本的mysql:mysql-5.5.8-osx10.6-x86.dmg 须知在mac下装的是64位 ... 
- PHP自动加载配置ArrayAccess类
			ArrayAccess是PHP的类,可以把对象当成数组来使用访问. Config.php 配置类 <?php namespace IMooc; class Config implements ... 
- IWebBrowser和IE浏览器的行为不一样
			原本一直以为IWebBrowser2的行为和IE浏览器的行为应该是一样的,但是最近发现事实不是如此. IE8以后的浏览器都带有兼容模式,而IWebBrowser2默认情况下是在兼容模式下运行的,可以参 ... 
- 启动dhcp出错:No subnet declaration for eth0 (192.168.0.1
			XUbuntu 8.04 i386.装了dhcp3-server.使用 sudo /etc/init.d/dhcp3-server start 出错:Apr 30 14:24:03 s dhcpd: ... 
- Python学习笔记_Python向Excel写入数据
			实验环境 1.OS:Win 10 64位 2.Python 3.7 3.如果没有安装xlwt库,则安装:pip install xlwt 下面是从网上找到的一段代码,网上这段代码,看首行注释行,是在L ... 
- while循环for循环优缺点和应用
			while循环常用于那种不知道循环次数是多少的情况,比如让用户循环输入一个整数,直到输入某个特殊的字符为止,你根本没法直到这个循环会进行的次数. for循环多用于循环次数比较明确的情况,比如for(n ... 
- 618F Double Knapsack
			传送门 题目大意 分析 代码 #include<iostream> #include<cstdio> #include<cstring> #include<s ... 
- 前端基础 之 Bootstrap框架
			浏览目录 Bootstrap介绍 为什么要使用Bootstrap? Bootstrap环境搭建 布局容器 栅格系统 Bootstrap全局样式 一.Bootstrap介绍 Bootstrap是Twit ... 
