mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-10 00:22:48 +08:00
改进Request和Url类 去掉base_url配置参数
This commit is contained in:
@@ -63,8 +63,6 @@ return [
|
|||||||
'pathinfo_depr' => '/',
|
'pathinfo_depr' => '/',
|
||||||
// 获取当前页面地址的系统变量 默认为REQUEST_URI
|
// 获取当前页面地址的系统变量 默认为REQUEST_URI
|
||||||
'url_request_uri' => 'REQUEST_URI',
|
'url_request_uri' => 'REQUEST_URI',
|
||||||
// 基础URL路径
|
|
||||||
'base_url' => $_SERVER["SCRIPT_NAME"],
|
|
||||||
// URL伪静态后缀
|
// URL伪静态后缀
|
||||||
'url_html_suffix' => '.html',
|
'url_html_suffix' => '.html',
|
||||||
// URL普通方式参数 用于自动生成
|
// URL普通方式参数 用于自动生成
|
||||||
@@ -211,7 +209,7 @@ return [
|
|||||||
'paginate' => [
|
'paginate' => [
|
||||||
'type' => 'bootstrap',
|
'type' => 'bootstrap',
|
||||||
'var_page' => 'page',
|
'var_page' => 'page',
|
||||||
'list_rows' => 15
|
'list_rows' => 15,
|
||||||
],
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -21,6 +21,11 @@ class Request
|
|||||||
*/
|
*/
|
||||||
protected static $instance;
|
protected static $instance;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string 域名
|
||||||
|
*/
|
||||||
|
protected $domain;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string URL地址
|
* @var string URL地址
|
||||||
*/
|
*/
|
||||||
@@ -32,9 +37,9 @@ class Request
|
|||||||
protected $baseUrl;
|
protected $baseUrl;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string 基础路径
|
* @var string 当前执行的文件
|
||||||
*/
|
*/
|
||||||
protected $basePath;
|
protected $baseFile;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string 根目录
|
* @var string 根目录
|
||||||
@@ -183,24 +188,39 @@ class Request
|
|||||||
return new self($options);
|
return new self($options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前包含协议的域名
|
||||||
|
* @access public
|
||||||
|
* @param string $url URL地址
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function domain($domain = '')
|
||||||
|
{
|
||||||
|
if (!empty($domain)) {
|
||||||
|
$this->domain = $domain;
|
||||||
|
return;
|
||||||
|
} elseif (!$this->domain) {
|
||||||
|
$this->domain = $this->scheme() . '://' . $this->host();
|
||||||
|
}
|
||||||
|
return $this->domain;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取当前完整URL 包括QUERY_STRING
|
* 获取当前完整URL 包括QUERY_STRING
|
||||||
* @access public
|
* @access public
|
||||||
* @param string $url URL地址
|
* @param string $url URL地址
|
||||||
|
* @param bool $domain 是否需要域名
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function url($url = '')
|
public function url($url = '')
|
||||||
{
|
{
|
||||||
if (!empty($url)) {
|
if (!empty($url)) {
|
||||||
$this->url = $url;
|
$this->url = $url;
|
||||||
} elseif ($this->url) {
|
return;
|
||||||
return $this->url;
|
} elseif (!$this->url) {
|
||||||
} else {
|
$this->url = $_SERVER[Config::get('url_request_uri')];
|
||||||
$url = $this->scheme() . '://' . $this->host();
|
|
||||||
$url .= $_SERVER[Config::get('url_request_uri')];
|
|
||||||
$this->url = $url;
|
|
||||||
return $url;
|
|
||||||
}
|
}
|
||||||
|
return true === $url ? $this->domain() . $this->url : $this->url;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -213,27 +233,25 @@ class Request
|
|||||||
{
|
{
|
||||||
if (!empty($url)) {
|
if (!empty($url)) {
|
||||||
$this->baseUrl = $url;
|
$this->baseUrl = $url;
|
||||||
} elseif ($this->baseUrl) {
|
return;
|
||||||
return $this->baseUrl;
|
} elseif (!$this->baseUrl) {
|
||||||
} else {
|
|
||||||
$this->baseUrl = rtrim($this->url(), '?' . $this->query());
|
$this->baseUrl = rtrim($this->url(), '?' . $this->query());
|
||||||
return $this->baseUrl;
|
|
||||||
}
|
}
|
||||||
|
return true === $url ? $this->domain() . $this->baseUrl : $this->baseUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取URL基础路径 SCRIPT_NAME
|
* 获取当前执行的文件 SCRIPT_NAME
|
||||||
* @access public
|
* @access public
|
||||||
* @param string $url URL地址
|
* @param string $file 当前执行的文件
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function basePath($url = '')
|
public function baseFile($file = '')
|
||||||
{
|
{
|
||||||
if (!empty($url)) {
|
if (!empty($file)) {
|
||||||
$this->basePath = $url;
|
$this->baseFile = $file;
|
||||||
} elseif ($this->basePath) {
|
return;
|
||||||
return $this->basePath;
|
} elseif (!$this->baseFile) {
|
||||||
} else {
|
|
||||||
$script_name = basename($_SERVER['SCRIPT_FILENAME']);
|
$script_name = basename($_SERVER['SCRIPT_FILENAME']);
|
||||||
if (basename($_SERVER['SCRIPT_NAME']) === $script_name) {
|
if (basename($_SERVER['SCRIPT_NAME']) === $script_name) {
|
||||||
$url = $_SERVER['SCRIPT_NAME'];
|
$url = $_SERVER['SCRIPT_NAME'];
|
||||||
@@ -246,9 +264,9 @@ class Request
|
|||||||
} elseif (isset($_SERVER['DOCUMENT_ROOT']) && strpos($_SERVER['SCRIPT_FILENAME'], $_SERVER['DOCUMENT_ROOT']) === 0) {
|
} elseif (isset($_SERVER['DOCUMENT_ROOT']) && strpos($_SERVER['SCRIPT_FILENAME'], $_SERVER['DOCUMENT_ROOT']) === 0) {
|
||||||
$url = str_replace('\\', '/', str_replace($_SERVER['DOCUMENT_ROOT'], '', $_SERVER['SCRIPT_FILENAME']));
|
$url = str_replace('\\', '/', str_replace($_SERVER['DOCUMENT_ROOT'], '', $_SERVER['SCRIPT_FILENAME']));
|
||||||
}
|
}
|
||||||
$this->basePath = $this->scheme() . '://' . $this->host() . $url;
|
$this->baseFile = $url;
|
||||||
return $this->basePath;
|
|
||||||
}
|
}
|
||||||
|
return true === $file ? $this->domain() . $this->baseFile : $this->baseFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -261,12 +279,11 @@ class Request
|
|||||||
{
|
{
|
||||||
if (!empty($url)) {
|
if (!empty($url)) {
|
||||||
$this->root = $url;
|
$this->root = $url;
|
||||||
} elseif ($this->root) {
|
return;
|
||||||
return $this->root;
|
} elseif (!$this->root) {
|
||||||
} else {
|
$this->root = rtrim(str_replace('\\', '/', dirname($this->baseFile())), '/');
|
||||||
$this->root = rtrim(str_replace('\\', '/', dirname($this->basePath())), '/');
|
|
||||||
return $this->root;
|
|
||||||
}
|
}
|
||||||
|
return true === $url ? $this->domain() . $this->root : $this->root;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ class Url
|
|||||||
// 检测域名
|
// 检测域名
|
||||||
$domain = self::parseDomain($url, $domain);
|
$domain = self::parseDomain($url, $domain);
|
||||||
// URL组装
|
// URL组装
|
||||||
$url = $domain . Config::get('base_url') . '/' . ltrim($url, '/');
|
$url = $domain . Request::instance()->root() . '/' . ltrim($url, '/');
|
||||||
return $url;
|
return $url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user