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请求对象的使用和常用的操作的更多相关文章

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

    获取当前系统参数 // 获取当前域名 echo '获取当前域名:'.$request->domain() . '<br/>'; // 获取当前入口文件 echo '获取当前入口文件: ...

  2. Servlet的学习之Request请求对象(2)

    在上一篇<Servlet的学习(十)>中介绍了HttpServletRequest请求对象的一些常用方法,而从这篇起开始介绍和学习HttpServletRequest的常用功能. 使用Ht ...

  3. Servlet的学习之Request请求对象(3)

    本篇接上一篇,将Servlet中的HttpServletRequest对象获取RequestDispatcher对象后能进行的[转发]forward功能和[包含]include功能介绍完. 首先来看R ...

  4. JSP内置九个对象Request请求对象

    jsp内置对象是什么呢? 例如Java语言使用一个对象之前需要实例化(也就是所说的new一个对象),创建对象这个过程有点麻烦,所以在jsp中提供了一些内置对象,用来实现很多jsp应用.在使用内置对象时 ...

  5. 在thinkphp5.0中调用ajax时, 返回的JSON 格式数据在html前台不能用时

    在thinkphp5.0中调用ajax时,如果控制器返回的数据为json格式,视图层接收到返回值即为json格式的数据,此时应该把 JSON 文本转换为 JavaScript 对象,方便调用.具体代码 ...

  6. opa gatekeeper笔记:AdmissionReview input.request请求对象结构

    官方:https://v1-17.docs.kubernetes.io/zh/docs/reference/access-authn-authz/extensible-admission-contro ...

  7. Swift2.0 中的String(一):常用属性

    字符串算是平常用的比较多.花样也比较多的一个类型,昨天有空把相关的一些常用操作都写了一遍,总结出来.其实iOS里面的字符串更复杂,还有NSString系列等等,那些API太多将来需要用的时候再慢慢学. ...

  8. Servlet的学习之Request请求对象(1)

    在本篇中开始对Servlet中的HttpServletRequest请求对象进行学习,请求对象同响应对象一样,我们可以根据该对象中的方法获取例如请求行,请求头和请求实体数据的方法. 在本篇中先对Htt ...

  9. springMVC中 request请求数据绑定到Controller入参 过程剖析

    前言:Controller方法的参数类型可以是基本类型,也可以是封装后的普通Java类型.若这个普通Java类型没有声明任何注解,则意味着它的每一个属性都需要到Request中去查找对应的请求参数.众 ...

随机推荐

  1. Linux的基本指令--目录和文件和文件属性和文件用户组

    目录和文件 一 .  ls:列出目录的内容,未给出目录名或是文件名时,就显示当前目录的信息. -a 列出隐藏文件,文件中以”.”开头的均为隐藏文件,如:~/.bashrc  -l 列出文件的详细信息 ...

  2. CodeForces - 721E

    题目大意 现有一个长为 L的数轴,你要从0走到 L 给出n个互不相交的可行域. 你要选择长度为p的段,要求每一个段都要在可行域内. 选完一段之后下一段要么和其相接,要么和其间距至少为t,求问最多能选择 ...

  3. 717. 1-bit and 2-bit Characters最后一位数是否为0

    [抄题]: We have two special characters. The first character can be represented by one bit 0. The secon ...

  4. SqlServer------范式小结

    说明:大多数初学者对于关系数据库中的范式很是头疼,我本人也是,所以今天又看了视频,总结了一下内容,尽量语言通俗易懂,少用专业术语以及概念. 首先要理解几个键值. 超键:在关系模式中,能唯一标识元组的属 ...

  5. Intent对象若干数据项的含义总结

    Intent作为组件之间通信的手段和协议,包含了诸如Action.Data.Type.Category.Component.Extras和Flags等数据项,各自拥有各自的含义和作用.当调用组件发出一 ...

  6. python3-递归

    # Auther: Aaron Fan """递归特性:1. 必须有一个明确的结束条件2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少3. 递归效率不高,递 ...

  7. MSGPACK和PROTOBUF的故事(MSGPACK明显生产力不足)

    作者曾经在2014年测试出MSGPACK的关键字和中文字符有很大的冲突,所以后来放弃了,本文为很多年前写的一个对比,后来我们一直在使用HTTP协议和PROTOBUF. 看看MSGPACK的文档,自称效 ...

  8. sublime text3安装后html:5+Tab不能快速生成html头部信息的解决办法

    sublime text3安装后html:5+Tab不能快速生成html头部信息的解决办法: 需要下载Emmet插件,按网上写的步骤按ctrl+shift+P打开命令面板,输入install,鼠标点击 ...

  9. poj3274 Gold Balanced Lineup(HASH)

    Description Farmer John's N cows (1 ≤ N ≤ 100,000) share many similarities. In fact, FJ has been abl ...

  10. 迷宫救人——DFS小题

    原创 题目大意:人质被困在迷宫之中,要求你寻找一条最短路径快速找到人质. 如图,人质在黄色点2处,营救者在起点红色处,1表示无法通过的障碍点,寻找一条最短路径快速找到人质. 毫无疑问用DFS,遍历4个 ...