版本还原

This commit is contained in:
thinkphp
2016-10-28 15:07:45 +08:00
parent dba952b608
commit d392d310e3

View File

@@ -234,10 +234,9 @@ class Route
* @param string $type 请求类型
* @param array $option 路由参数
* @param array $pattern 变量规则
* @param mixed $role 角色信息
* @return void
*/
public static function rule($rule, $route = '', $type = '*', $option = [], $pattern = [], $role = null)
public static function rule($rule, $route = '', $type = '*', $option = [], $pattern = [])
{
$group = self::getGroup('name');
if (!is_null($group)) {
@@ -261,16 +260,12 @@ class Route
$route = $val[0];
$option1 = array_merge($option, $val[1]);
$pattern1 = array_merge($pattern, isset($val[2]) ? $val[2] : []);
if (isset($val[3])) {
self::setRole($key, $val[3]);
}
} else {
$route = $val;
}
self::setRule($key, $route, $type, isset($option1) ? $option1 : $option, isset($pattern1) ? $pattern1 : $pattern, $group);
}
} else {
self::setRole($rule, $role);
self::setRule($rule, $route, $type, $option, $pattern, $group);
}
@@ -351,15 +346,12 @@ class Route
/**
* 设置当前执行的参数信息
* @access public
* @param string $name 分组名或者路由规则
* @param mixed $role 角色信息
* @param array $options 参数信息
* @return mixed
*/
protected static function setRole($name, $role)
protected static function setOption($options = [])
{
if ($role) {
self::$role[$name] = $role;
}
self::$option[] = $options;
}
/**
@@ -367,9 +359,9 @@ class Route
* @access public
* @return array
*/
public static function getRole()
public static function getOption()
{
return self::$role;
return self::$option;
}
/**
@@ -409,10 +401,9 @@ class Route
* @param array|\Closure $routes 路由地址
* @param array $option 路由参数
* @param array $pattern 变量规则
* @param mixed $role 角色信息
* @return void
*/
public static function group($name, $routes, $option = [], $pattern = [], $role = null)
public static function group($name, $routes, $option = [], $pattern = [])
{
if (is_array($name)) {
$option = $name;
@@ -436,7 +427,6 @@ class Route
self::$rules['*'][$name]['option'] = $option;
self::$rules['*'][$name]['pattern'] = $pattern;
}
self::setRole($name, $role);
} else {
$item = [];
foreach ($routes as $key => $val) {
@@ -447,9 +437,6 @@ class Route
$route = $val[0];
$option1 = array_merge($option, isset($val[1]) ? $val[1] : []);
$pattern1 = array_merge($pattern, isset($val[2]) ? $val[2] : []);
if (isset($val[3])) {
self::setRole($name, $val[3]);
}
} else {
$route = $val;
}
@@ -487,7 +474,7 @@ class Route
self::setGroup($currentGroup, $currentOption, $currentPattern);
} else {
// 批量注册路由
self::rule($routes, '', '*', $option, $pattern, $role);
self::rule($routes, '', '*', $option, $pattern);
}
}
@@ -871,6 +858,7 @@ class Route
$rule = self::getRouteExpress($item);
}
if (!empty($rule['route']) && self::checkOption($rule['option'], $request)) {
self::setOption($rule['option']);
return self::parseRule($item, $rule['route'], $url, $rule['option']);
}
}
@@ -934,7 +922,7 @@ class Route
if (is_string($str) && $str && 0 !== strpos(str_replace('|', '/', $url), $str)) {
continue;
}
self::setOption($option);
$result = self::checkRoute($request, $rule, $url, $depr, $key, $option);
if (false !== $result) {
return $result;
@@ -950,6 +938,7 @@ class Route
$rule = $group . ($rule ? '/' . ltrim($rule, '/') : '');
}
self::setOption($option);
if (isset($options['bind_model']) && isset($option['bind_model'])) {
$option['bind_model'] = array_merge($options['bind_model'], $option['bind_model']);
}