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中去查找对应的请求参数.众 ...
随机推荐
- json和pickle序列化模块
一.json序列化模块 1.序列化:将内存数据转成字符串加以保存. 2.反序列化:将字符串转成内存数据加以读取. data = { '北京':{ '五道口':{ 'sohu':'引擎', } } } ...
- SolrCloud中的文件与Collection管理
转载请出自出处:http://eksliang.iteye.com/blog/2124078 http://eksliang.iteye.com/ 一.内嵌启动SolrCloud时端口默认分配 当 S ...
- Redis01 Redis服务端环境搭建
1 前提准备 下载 VM centos6 安装包,安装好虚拟系统 2 安装远程连接工具 工具获取 2.1 SecureCRT.Xshell 连接远程服务器 2.2 WinSCP 向远程服务器发送文件 ...
- 383. Ransom Note 在字典数组中查找笔记数组
[抄题]: Given an arbitrary ransom note string and another string containing letters from all the magaz ...
- 1-element.src.match("bulbon")
element.src.match("bulbon")这里的math里面”bulbon“是什么意思? 原代码中 if (element.src.match("bulbon ...
- M(必备),R(需求),C(条件),O(可选)
M:must 必备 R:request 需求 C:condition 条件 O:option 可选 AFL:application file locator 应用文件定位器 PKI:公钥索引 IPK: ...
- Debian7安装后的配置(英文环境chromium浏览器中汉字变成方块的问题)
原文来自:http://www.programgo.com/article/3272573017/ 1.安装文泉宋体 sudo aptitude install xfonts-wqy sudo apt ...
- Discrete cosine transform(离散余弦转换)
A discrete cosine transform (DCT) expresses a finite sequence of data points in terms of a sum of co ...
- 编写高质量代码改善C#程序的157个建议——建议39:了解委托的实质
建议39:了解委托的实质 理解C#中的委托需要把握两个要点: 1)委托是方法指针. 2)委托是一个类,当对其进行实例化的时候,要将引用方法作为它的构造方法的参数. 设想这样一个场景:在点对点文件传输过 ...
- SQL之DML
DML(Data Manipulation Language)数据操纵语言statements are used for managing data within schema objects. 由D ...