mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-01 12:42:48 +08:00
Url路由检测增加缓存
This commit is contained in:
@@ -143,55 +143,45 @@ class Route
|
||||
}
|
||||
|
||||
// 注册任意请求的路由规则
|
||||
public static function any($rule = '', $route = '', $option = [], $pattern = [])
|
||||
public static function any($rule, $route = '', $option = [], $pattern = [])
|
||||
{
|
||||
if ('' == $rule) {
|
||||
// 获取路由定义
|
||||
return self::$rules['*'];
|
||||
}
|
||||
self::register($rule, $route, '*', $option, $pattern);
|
||||
}
|
||||
|
||||
// 注册get请求的路由规则
|
||||
public static function get($rule = '', $route = '', $option = [], $pattern = [])
|
||||
public static function get($rule, $route = '', $option = [], $pattern = [])
|
||||
{
|
||||
if ('' == $rule) {
|
||||
// 获取路由定义
|
||||
return self::$rules['GET'];
|
||||
}
|
||||
self::register($rule, $route, 'GET', $option, $pattern);
|
||||
}
|
||||
|
||||
// 注册post请求的路由规则
|
||||
public static function post($rule = '', $route = '', $option = [], $pattern = [])
|
||||
public static function post($rule, $route = '', $option = [], $pattern = [])
|
||||
{
|
||||
if ('' == $rule) {
|
||||
// 获取路由定义
|
||||
return self::$rules['POST'];
|
||||
}
|
||||
self::register($rule, $route, 'POST', $option, $pattern);
|
||||
}
|
||||
|
||||
// 注册put请求的路由规则
|
||||
public static function put($rule = '', $route = '', $option = [], $pattern = [])
|
||||
public static function put($rule, $route = '', $option = [], $pattern = [])
|
||||
{
|
||||
if ('' == $rule) {
|
||||
// 获取路由定义
|
||||
return self::$rules['PUT'];
|
||||
}
|
||||
self::register($rule, $route, 'PUT', $option, $pattern);
|
||||
}
|
||||
|
||||
// 注册delete请求的路由规则
|
||||
public static function delete($rule = '', $route = '', $option = [], $pattern = [])
|
||||
public static function delete($rule, $route = '', $option = [], $pattern = [])
|
||||
{
|
||||
if ('' == $rule) {
|
||||
// 获取路由定义
|
||||
return self::$rules['DELETE'];
|
||||
}
|
||||
self::register($rule, $route, 'DELETE', $option, $pattern);
|
||||
}
|
||||
|
||||
// 获取路由定义
|
||||
public static function getRules($method = '')
|
||||
{
|
||||
if ($method) {
|
||||
return self::$rules[$method];
|
||||
} else {
|
||||
return self::$rules['*'] + self::$rules['GET'] + self::$rules['POST'] + self::$rules['PUT'] + self::$rules['DELETE'];
|
||||
}
|
||||
}
|
||||
|
||||
// 检测子域名部署
|
||||
public static function checkDomain()
|
||||
{
|
||||
|
||||
@@ -46,7 +46,11 @@ class Url
|
||||
$url = $aliasUrl;
|
||||
} else {
|
||||
// 检测路由
|
||||
$match = self::checkRoute($url, $vars, $domain);
|
||||
if (!$match = Cache::get(md5($url))) {
|
||||
// 没有检测过 重新检测
|
||||
$match = self::checkRoute($url, $vars);
|
||||
Cache::set(md5($url), $match);
|
||||
}
|
||||
if (false === $match) {
|
||||
// 路由不存在 直接解析
|
||||
if (false !== strpos($url, '\\')) {
|
||||
@@ -140,10 +144,10 @@ class Url
|
||||
return $url;
|
||||
}
|
||||
|
||||
protected static function checkRoute($url, $vars, $domain)
|
||||
protected static function checkRoute($url, $vars)
|
||||
{
|
||||
// 获取路由定义
|
||||
$rules = Route::any();
|
||||
$rules = Route::getRules();
|
||||
// 全局变量规则
|
||||
$pattern = Route::pattern();
|
||||
foreach ($rules as $rule => $val) {
|
||||
|
||||
Reference in New Issue
Block a user