mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-01 12:42:48 +08:00
改进路由规则定义 APP_HOOK常量定义位置移动 便于应用模式自己定义
This commit is contained in:
1
base.php
1
base.php
@@ -37,7 +37,6 @@ defined('VIEW_LAYER') or define('VIEW_LAYER', 'view');
|
||||
defined('CONTROLLER_LAYER') or define('CONTROLLER_LAYER', 'controller');
|
||||
defined('VALIDATE_LAYER') or define('VALIDATE_LAYER', 'validate');
|
||||
defined('APP_MULTI_MODULE') or define('APP_MULTI_MODULE', true); // 是否多模块
|
||||
defined('APP_HOOK') or define('APP_HOOK', false); // 是否开启HOOK
|
||||
defined('ENV_PREFIX') or define('ENV_PREFIX', 'PHP_'); // 环境变量的配置前缀
|
||||
defined('IS_API') or define('IS_API', false); // 是否API接口
|
||||
defined('APP_AUTO_RUN') or define('APP_AUTO_RUN', true); // 是否自动运行
|
||||
|
||||
@@ -598,6 +598,17 @@ class Route
|
||||
$m2 = explode('/', $rule);
|
||||
$var = [];
|
||||
foreach ($m2 as $key => $val) {
|
||||
// val中定义了多个变量 <id><name>
|
||||
if (preg_match_all('/<(\w+)>/', $val, $matches)) {
|
||||
foreach ($matches[1] as $name) {
|
||||
$val = str_replace('<' . $name . '>', '(' . $pattern[$name] . ')', $val);
|
||||
}
|
||||
if (!preg_match('/^' . $val . '$/', $m1[$key])) {
|
||||
return false;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (0 === strpos($val, '[:')) {
|
||||
// 可选参数
|
||||
$val = substr($val, 1, -1);
|
||||
|
||||
@@ -54,6 +54,9 @@ if (isset($mode['config'])) {
|
||||
is_array($mode['config']) ? Config::set($mode['config']) : Config::load($mode['config']);
|
||||
}
|
||||
|
||||
// 是否开启HOOK
|
||||
defined('APP_HOOK') or define('APP_HOOK', false);
|
||||
|
||||
// 加载模式行为定义
|
||||
if (APP_HOOK && isset($mode['tags'])) {
|
||||
Hook::import($mode['tags']);
|
||||
|
||||
Reference in New Issue
Block a user