#### Request
~~~
/**
* Hook 方法注入
* @access public
* @param string|array $method 方法名
* @param mixed $callback callable
* @return void
*/
Request::hook($method, $callback = null);
// 初始化
Request::instance($options = []);
/**
* 创建一个URL请求
* @access public
* @param string $uri URL地址
* @param string $method 请求类型
* @param array $params 请求参数
* @param array $cookie
* @param array $files
* @param array $server
* @param string $content
* @return \think\Request
*/
Request::create($uri, $method = 'GET', $params = [], $cookie = [], $files = [], $server = [], $content = null);
// 设置或获取当前包含协议的域名
$request = new Request();
$request->domain($domain = null);
/**
* 设置或获取当前完整URL 包括QUERY_STRING
* @access public
* @param string|true $url URL地址 true 带域名获取
* @return string
*/
/**
* 设置或获取当前URL 不含QUERY_STRING
* @access public
* @param string $url URL地址
* @return string
*/
$request->baseUrl($url = null);
/**
* 设置或获取当前执行的文件 SCRIPT_NAME
* @access public
* @param string $file 当前执行的文件
* @return string
*/
$request->baseFile($file = null);
/**
* 设置或获取URL访问根地址
* @access public
* @param string $url URL地址
* @return string
*/
$request->root($url = null);
// 获取当前请求URL的pathinfo信息(含URL后缀)
$request->pathinfo();
// 获取当前请求URL的pathinfo信息(不含URL后缀)
$request->path();
// 当前URL的访问后缀
$request->ext();
// 获取当前请求的时间
$request->time($float = false);
/**
* 当前请求的资源类型
* @access public
* @return false|string
*/
$request->type();
/**
* 设置资源类型
* @access public
* @param string|array $type 资源类型名
* @param string $val 资源类型
* @return void
*/
$request->mimeType($type, $val = '');
/**
* 当前的请求类型
* @access public
* @param bool $method true 获取原始请求类型
* @return string
*/
$request->method($method = false);
// 是否为GET请求
$request->isGet();
// 是否为POST请求
$request->isPost();
// 是否为PUT请求
$request->isPut();
// 是否为DELTE请求
$request->isDelete();
// 是否为HEAD请求
$request->isHead();
// 是否为PATCH请求
$request->isPatch();
// 是否为OPTIONS请求
$request->isOptions();
// 是否为cli
$request->isCli();
// 是否为cgi
$request->isCgi();
/**
* 获取获取当前请求的参数
* @access public
* @param string|array $name 变量名
* @param mixed $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->param($name = '', $default = null, $filter = '');
/**
* 设置获取获取路由参数
* @access public
* @param string|array $name 变量名
* @param mixed $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->route($name = '', $default = null, $filter = '');
/**
* 设置获取获取GET参数
* @access public
* @param string|array $name 变量名
* @param mixed $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->get($name = '', $default = null, $filter = '');
/**
* 设置获取获取POST参数
* @access public
* @param string $name 变量名
* @param mixed $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->post($name = '', $default = null, $filter = '');
/**
* 设置获取获取PUT参数
* @access public
* @param string|array $name 变量名
* @param mixed $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->put($name = '', $default = null, $filter = '');
/**
* 设置获取获取DELETE参数
* @access public
* @param string|array $name 变量名
* @param mixed $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->delete($name = '', $default = null, $filter = '');
/**
* 设置获取获取PATCH参数
* @access public
* @param string|array $name 变量名
* @param mixed $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$Req
/**
* 获取request变量
* @param string $name 数据名称
* @param string $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->request($name = '', $default = null, $filter = '');
/**
* 获取session数据
* @access public
* @param string|array $name 数据名称
* @param string $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->session($name = '', $default = null, $filter = '');
/**
* 获取cookie参数
* @access public
* @param string|array $name 数据名称
* @param string $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->cookie($name = '', $default = null, $filter = '');
/**
* 获取server参数
* @access public
* @param string|array $name 数据名称
* @param string $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->server($name = '', $default = null, $filter = '');
/**
* 获取上传的文件信息
* @access public
* @param string|array $name 名称
* @return null|array|\think\File
*/
$request->file($name = '');
/**
* 获取环境变量
* @param string|array $name 数据名称
* @param string $default 默认值
* @param string|array $filter 过滤方法
* @return mixed
*/
$request->env($name = '', $default = null, $filter = '');
/**
* 设置或者获取当前的Header
* @access public
* @param string|array $name header名称
* @param string $default 默认值
* @return string
*/
$request->header($name = '', $default = null);
/**
* 获取变量 支持过滤和默认值
* @param array $data 数据源
* @param string|false $name 字段名
* @param mixed $default 默认值
* @param string|array $filter 过滤函数
* @return mixed
*/
$request->input($data = [], $name = '', $default = null, $filter = '');
/**
* 设置或获取当前的过滤规则
* @param mixed $filter 过滤规则
* @return mixed
*/
$request->filter($filter = null);
/**
* 递归过滤给定的值
* @param mixed $value 键值
* @param mixed $key 键名
* @param array $filters 过滤方法+默认值
* @return mixed
*/
$this->filterValue(&$value, $key, $filters);
// 过滤表单中的表达式
$request->filterExp(&$value);
/**
* 强制类型转换
* @param string $data
* @param string $type
* @return mixed
*/
$this->typeCast(&$data, $type);
/**
* 是否存在某个请求参数
* @access public
* @param string $name 变量名
* @param string $type 变量类型
* @param bool $checkEmpty 是否检测空值
* @return mixed
*/
$request->has($name, $type = 'param', $checkEmpty = false);
/**
* 获取指定的参数
* @access public
* @param string|array $name 变量名
* @param string $type 变量类型
* @return mixed
*/
$request->only($name, $type = 'param');
/**
* 排除指定参数获取
* @access public
* @param string|array $name 变量名
* @param string $type 变量类型
* @return mixed
*/
$request->except($name, $type = 'param');
// 当前是否ssl
$request->isSsl();
/**
* 当前是否Ajax请求
* @access public
* @param bool $ajax true 获取原始ajax请求
* @return bool
*/
$request->isAjax($ajax = false);
/**
* 当前是否Pjax请求
* @access public
* @param bool $pjax true 获取原始pjax请求
* @return bool
*/
$request->isPjax($pjax = false);
/**
* 获取客户端IP地址
* @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字
* @param boolean $adv 是否进行高级模式获取(有可能被伪装)
* @return mixed
*/
$requet->ip($type = 0, $adv = false);
// 检测是否使用手机访问
$request->isMobile();
// 当前URL地址中的scheme参数
$request->scheme();
// 当前请求URL地址中的query参数
$request->query();
// 当前请求的host
$request->host();
// 当前请求URL地址中的port参数
$request->port();
// 当前请求 SERVER_PROTOCOL
$request->protocol();
// 当前请求 REMOTE_PORT
$request->remotePort();
// 当前请求 HTTP_CONTENT_TYPE
$request->contentType();
// 获取当前请求的路由信息
$request->routeInfo($route = []);
/**
* 设置或者获取当前请求的调度信息
* @access public
* @param array $dispatch 调度信息
* @return array
*/
$request->dispatch($dispatch = null);
/**
* 设置或者获取当前的模块名
* @access public
* @param string $module 模块名
* @return string|Request
*/
$request->module($module = null);
// 设置或者获取当前的控制器名
$request->controller($controller = null);
// 设置或者获取当前的操作名
$request->action($action = null);
// 设置或者获取当前的语言
$request->langset($lang = null);
// 设置或者获取当前请求的content
$request->getContent();
// 获取当前请求的php://input
$request->getInput();
/**
* 生成请求令牌
* @access public
* @param string $name 令牌名称
* @param mixed $type 令牌生成方法
* @return string
*/
$request->token($name = '__token__', $type = 'md5');
/**
* 设置当前地址的请求缓存
* @access public
* @param string $key 缓存标识,支持变量规则 ,例如 item/:name/:id
* @param mixed $expire 缓存有效期
* @param array $except 缓存排除
* @return void
*/
$request->cache($key, $expire = null, $except = []);
// 读取请求缓存设置
$request->getCache();
/**
* 设置当前请求绑定的对象实例
* @access public
* @param string $name 绑定的对象标识
* @param mixed $obj 绑定的对象实例
* @return mixed
*/
$request->bind($name, $obj = null);
~~~