改进路由域名绑定模块后的 路由定义问题

This commit is contained in:
thinkphp
2016-07-28 22:05:47 +08:00
parent e4ed3c43f1
commit 77e810da86

View File

@@ -686,14 +686,14 @@ class Route
// 绑定到命名空间 例如 \app\index\behavior // 绑定到命名空间 例如 \app\index\behavior
self::$bind = ['type' => 'namespace', 'namespace' => $result]; self::$bind = ['type' => 'namespace', 'namespace' => $result];
} elseif (0 === strpos($result, '@')) { } elseif (0 === strpos($result, '@')) {
// 绑定到类 例如 \app\index\controller\User // 绑定到类 例如 @app\index\controller\User
self::$bind = ['type' => 'class', 'class' => substr($result, 1)]; self::$bind = ['type' => 'class', 'class' => substr($result, 1)];
} elseif (0 === strpos($result, '[')) { } elseif (0 === strpos($result, '[')) {
// 绑定到分组 例如 [user] // 绑定到分组 例如 [user]
self::$bind = ['type' => 'group', 'group' => substr($result, 1, -1)]; self::$bind = ['type' => 'group', 'group' => substr($result, 1, -1)];
} else { } else {
// 绑定到模块/控制器 例如 index/user // 绑定到模块/控制器 例如 index/user
self::$bind = ['type' => 'module', 'module' => $result]; self::$bind = ['type' => 'module', 'module' => $result, 'domain' => true];
} }
} }
} }
@@ -879,7 +879,7 @@ class Route
return self::bindToNamespace($url, self::$bind['namespace'], $depr); return self::bindToNamespace($url, self::$bind['namespace'], $depr);
case 'module': case 'module':
// 如果有模块/控制器绑定 针对路由到 模块/控制器 有效 // 如果有模块/控制器绑定 针对路由到 模块/控制器 有效
$url = self::$bind['module'] . '/' . ltrim($url, '/'); $url = (empty(self::$bind['domain']) ? self::$bind['module'] . '/' : '') . ltrim($url, '/');
break; break;
case 'group': case 'group':
// 绑定到路由分组 // 绑定到路由分组