URL生成支持别名路由

This commit is contained in:
thinkphp
2016-10-13 23:17:19 +08:00
parent 3fdd4f1009
commit d65daa2fdc

View File

@@ -85,13 +85,29 @@ class Url
} elseif (!empty($rule) && isset($name)) {
throw new \InvalidArgumentException('route name not exists:' . $name);
} else {
// 检查别名路由
$alias = Route::rules('alias');
if ($alias) {
// 别名路由解析
foreach ($alias as $key => $val) {
if (is_array($val)) {
$val = $val[0];
}
if (0 === strpos($url, $val)) {
$url = $key . substr($url, strlen($val));
break;
}
}
} else {
// 路由标识不存在 直接解析
$url = self::parseUrl($url, $domain);
}
if (isset($info['query'])) {
// 解析地址里面参数 合并到vars
parse_str($info['query'], $params);
$vars = array_merge($params, $vars);
}
// 路由标识不存在 直接解析
$url = self::parseUrl($url, $domain);
}
// 检测URL绑定