同步更新

This commit is contained in:
2026-01-13 17:27:32 +08:00
parent 45785dd33f
commit 5d6e2fc5e0
38 changed files with 1211 additions and 305 deletions

View File

@@ -17,6 +17,9 @@ use ArrayAccess;
use think\facade\Lang;
use think\file\UploadedFile;
use think\route\Rule;
use think\traits\UrlHandler;
use think\traits\DomainHandler;
use think\traits\HttpMethodHandler;
/**
* 请求管理类
@@ -24,6 +27,7 @@ use think\route\Rule;
*/
class Request implements ArrayAccess
{
use UrlHandler, DomainHandler, HttpMethodHandler;
/**
* 兼容PATH_INFO获取
* @var array
@@ -36,36 +40,7 @@ class Request implements ArrayAccess
*/
protected $varPathinfo = 's';
/**
* 请求类型
* @var string
*/
protected $varMethod = '_method';
/**
* 表单ajax伪装变量
* @var string
*/
protected $varAjax = '_ajax';
/**
* 表单pjax伪装变量
* @var string
*/
protected $varPjax = '_pjax';
/**
* 域名根
* @var string
*/
protected $rootDomain = '';
/**
* 特殊域名根标识 用于识别com.cn org.cn 这种
* @var array
*/
protected $domainSpecialSuffix = ['com', 'net', 'org', 'edu', 'gov', 'mil', 'co', 'info'];
/**
* HTTPS代理标识
* @var string
@@ -84,60 +59,8 @@ class Request implements ArrayAccess
*/
protected $proxyServerIpHeader = ['HTTP_X_REAL_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_CLIENT_IP', 'HTTP_X_CLIENT_IP', 'HTTP_X_CLUSTER_CLIENT_IP'];
/**
* 请求类型
* @var string
*/
protected $method;
/**
* 域名(含协议及端口)
* @var string
*/
protected $domain;
/**
* HOST含端口
* @var string
*/
protected $host;
/**
* 子域名
* @var string
*/
protected $subDomain;
/**
* 泛域名
* @var string
*/
protected $panDomain;
/**
* 当前URL地址
* @var string
*/
protected $url;
/**
* 基础URL
* @var string
*/
protected $baseUrl;
/**
* 当前执行的文件
* @var string
*/
protected $baseFile;
/**
* 访问的ROOT地址
* @var string
*/
protected $root;
/**
* pathinfo
* @var string
@@ -435,7 +358,7 @@ class Request implements ArrayAccess
*/
public function subDomain(): string
{
if (is_null($this->subDomain)) {
if ($this->subDomain === '') {
// 获取当前主域名
$rootDomain = $this->rootDomain();
@@ -681,7 +604,7 @@ class Request implements ArrayAccess
* 获取当前请求的时间
* @access public
* @param bool $float 是否使用浮点类型
* @return integer|float
* @return int|float
*/
public function time(bool $float = false)
{
@@ -1682,7 +1605,7 @@ class Request implements ArrayAccess
* @param string $ip IP地址
* @param string $type IP地址类型 (ipv4, ipv6)
*
* @return boolean
* @return bool
*/
public function isValidIP(string $ip, string $type = ''): bool
{
@@ -2191,7 +2114,7 @@ class Request implements ArrayAccess
* 检测中间传递数据的值
* @access public
* @param string $name 名称
* @return boolean
* @return bool
*/
public function __isset(string $name): bool
{