Request类解析
request是请求相关的封装对象,比如原本我们想要获取get参数需要使用$_GET,post参数使用$_POST,字符串流数据通过file_get_contents(“php://input”)。而在实例化request对象时,这类参数都被组装到该对象。
类属性
| 名称 | 类型 | 真实含义 |
|---|---|---|
| $instance | object | Request对象实例 |
| $method | string | 请求方式 |
| $domain | string | 域名(含协议和端口) |
| $url | string | URL地址 |
| $baseUrl | string | 基础URL |
| $baseFile | string | 当前执行的文件 |
| $root | string | 访问的ROOT地址 |
| $pathinfo | string | pathinfo |
| $path | string | pathinfo(不含后缀) |
| $routeInfo | array | 当前路由信息 |
| $env | array | 环境变量 |
| $dispatch | array | 路由调度信息 |
| $module | string | 请求调用模块名 |
| $controller | string | 请求调用控制器 |
| $action | string | 请求调用操作器(控制器方法) |
| $langset | string | 当前语言集 |
| $param | array | 请求参数组合变量 |
| $get | array | GET请求参数 |
| $post | array | POST请求参数 |
| $request | array | $_REQUEST |
| $put | array | PUT请求参数 |
| $session | array | SESSION变量 |
| $file | array | 上传FILE参数 |
| $cookie | array | Cookie信息 |
| $server | array | $_SERVER信息 |
| $header | array | HTTP请求头部信息 |
| $mimeType | array | 资源类型\ |
| $input | string | php://input数据 |
实例化
/**
* 构造函数
* @access protected
* @param array $options 参数
*/
protected function __construct($options = [])
{
//options要求格式为二维数组,使用property_exists()判断键名是否为request类的变量,若是则设置值
foreach ($options as $name => $item) {
if (property_exists($this, $name)) {
$this->$name = $item;
}
}
//设置filter函数列表
if (is_null($this->filter)) {
$this->filter = Config::get('default_filter');
}
// 保存 php://input
$this->input = file_get_contents('php://input');
}
/**
* 初始化
* @access public
* @param array $options
ThinkPHP5 Request类详解

本文详细解析了ThinkPHP5的Request类,包括类属性、实例化、Hook自定义方法及不同类型请求的方法如type()、param()、post()、put()等。通过Request类,可以方便地获取和处理HTTP请求的各种信息,如请求类型、参数、域名、URL等。
最低0.47元/天 解锁文章
1784

被折叠的 条评论
为什么被折叠?



