改进资源路由的id自定义

This commit is contained in:
thinkphp
2016-01-15 12:46:15 +08:00
parent 3ac8a5d4a4
commit 6282ff7cb4

View File

@@ -199,11 +199,7 @@ class Route
$last = array_pop($array);
$item = [];
foreach ($array as $val) {
if (isset($option['rule'][$val])) {
$item[] = $val . '/:' . $option['rule'][$val];
} else {
$item[] = $val . '/:' . $val . '_id';
}
$item[] = $val . '/:' . (isset($option['var'][$val]) ? $option['var'][$val] : $val . '_id');
}
$rule = implode('/', $item) . '/' . $last;
}
@@ -213,6 +209,9 @@ class Route
|| (isset($option['except']) && in_array($key, $option['except']))) {
continue;
}
if (strpos($val[1], ':id') && isset($option['var'][$rule])) {
$val[1] = str_replace(':id', ':' . $option['var'][$rule], $val[1]);
}
self::register($rule . $val[1] . '$', $route . '/' . $key, $val[0], $option, $pattern);
}
}