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中去查找对应的请求参数.众 ...
随机推荐
- 【294】◀▶ Python 字符串说明
目录: 一.Python访问字符串中的值 二. Python 转义字符 三.Python 字符串运算符 参考:Python 字符串 一.Python访问字符串中的值 Python不支持单字符类型, ...
- BP算法在minist数据集上的简单实现
BP算法在minist上的简单实现 数据:http://yann.lecun.com/exdb/mnist/ 参考:blog,blog2,blog3,tensorflow 推导:http://www. ...
- Tags and Layers
[Tags and Layers] 1.tags and layers 配置面板."Edit" -> "Project Settings" -> & ...
- HDR
[HDR] 什么是 HDR? 高动态范围拍摄(HDR)现在已经得到广泛使用,被用来补偿大多数数码成像传感器有限的动态范围.照片的动态范围是指最暗的色彩与最亮的色彩之间的亮度范围——也可以一并表示色调范 ...
- Javamelody部署手册
Javamelody部署手册 1. Javamelody下载 下载地址:http://code.google.com/p/javamelody/downloads/list(注:需要FQ才能打开下载 ...
- java Web 请求servlet绘制验证码简单例子
主要用来了解java代码怎么绘制验证码图片,实际开发中不会这样用 protected void doGet(HttpServletRequest request, HttpServletRespons ...
- Linux3基本命令 ls,pwd,cat,echo,mv,cp,mkdir,rm,ln
ls 列出文件名称. -l 列出长文件名称. -rwxr-xr-- 1 root root 10739 Dec 23 13:31 bbscon (7) (4) (5) (6) ...
- Windows Chocolatey
一.简介 Chocolatey是Windows下包管理工具,可以使用 Chocolatey 来安装应用程序. 二.安装 1)在线安装:参见 主页 官网:https://chocolatey.org ...
- 简单Factory模式
#pragma once #include "student.h" #include "Teacher.h" typedef enum _EPersonType ...
- 38.NOW() 函数
NOW 函数返回当前的日期和时间. 提示:如果您在使用 Sql Server 数据库,请使用 getdate() 函数来获得当前的日期时间. SQL NOW() 语法 SELECT NOW() FRO ...