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中去查找对应的请求参数.众 ...
随机推荐
- fcntl详细说明
功能描述:根据文件描述词来操作文件的特性. #include <unistd.h>#include <fcntl.h> int fcntl(int fd, int cmd); ...
- Uboot详细解析2
1.第二阶段的主线函数位于u-boot-2010.06/arch/arm/lib/board.c. 第二阶段的功能: <1> 初始化本阶段要使用到的硬件设备. 设置时钟.初始化串口. bo ...
- 【原】Coursera—Andrew Ng斯坦福机器学习(0)——课程地址和软件下载
斯坦福大学机器学习 课程信息 机器学习是一门研究在非特定编程条件下让计算机采取行动的学科.最近二十年,机器学习为我们带来了自动驾驶汽车.实用的语音识别.高效的网络搜索,让我们对人类基因的解读能力大大提 ...
- Linux的基本指令shell
计算机语言的进化过程,7代语言 机器语言(6种位运算)-> 汇编语言->C语言 -> C++/Java -> Paython / go /Ruby -> 自 ...
- Ionic01 简单介绍、环境搭建、创建项目、项目结构、创建组件、创建页面、子页面跳转
1 Ionic 基本介绍 Ionic 是一款基于 Angular.Cordova 的强大的 HTML5 移动应用开发框架 , 可以快速创建一个跨平台的移动应用.可以快速开发移动 App.移动端 WEB ...
- Angular23 loading组件、路由配置、子路由配置、路由懒加载配置
1 需求 由于Angular是单页面的应用,所以在进行数据刷新是进行的局部刷新:在进行数据刷新时从浏览器发出请求到后台响应数据是有时间延迟的,所以在这段时间就需要进行遮罩处理来提示用户系统正在请求数据 ...
- hadoop 2.7.3 (hadoop2.x)使用ant制作eclipse插件hadoop-eclipse-plugin-2.7.3.jar
为了做mapreduce开发,要使用eclipse,并且需要对应的Hadoop插件hadoop-eclipse-plugin-2.7.3.jar,首先说明一下,在hadoop1.x之前官方hadoop ...
- 基于Ubuntu16搭建Hadoop大数据完全分布式环境
[目的]:学习大数据 在此记录搭建大数据的过程. [系统环境] 宿主机操作系统:Win7 64位 虚拟机软件:Vmware workstation 12 虚拟机:Ubuntu 16 64位桌面版 [步 ...
- Luogu 4091 [HEOI2016/TJOI2016]求和
BZOJ 4555 一道模板题. 第二类斯特林数有公式: $$S(n, m) = \frac{1}{m!}\sum_{i = 0}^{m}(-1)^i\binom{m}{i}(m - i)^n$$ 考 ...
- 我的linux环境
apache2+php+mysql sudo apt-get install apache2 sudo apt-get install libapache2-mod-php5 php5 sudo ap ...