闭包路由定义的时候 函数返回值 如果是数组之外的 都会直接输出并exit

This commit is contained in:
thinkphp
2015-12-02 16:45:54 +08:00
parent 0dc82f3ab0
commit 59f71a86bb
3 changed files with 7 additions and 9 deletions

View File

@@ -25,10 +25,6 @@ class App
*/
public static function run(array $config = [])
{
if (version_compare(PHP_VERSION, '5.4.0', '<')) {
throw new Exception('require PHP > 5.4.0 !');
}
// 初始化公共模块
self::initModule(COMMON_MODULE, $config);

View File

@@ -124,12 +124,12 @@ class Error
if (Config::get('show_error_msg')) {
$e['message'] = is_array($error) ? $error['message'] : $error;
} else {
$e['message'] = C('error_message');
$e['message'] = Config::get('error_message');
}
}
}
// 包含异常页面模板
$data = include Config::get('exception_tmpl');
exit(Response::returnData($data));
include Config::get('exception_tmpl');
exit;
}
}

View File

@@ -273,7 +273,8 @@ class Route
// 正则路由
if ($route instanceof \Closure) {
// 执行闭包
return self::invokeRegx($route, $matches);
$result = self::invokeRegx($route, $matches);
return is_array($result) ? $result : exit($result);
}
return self::parseRegex($matches, $route, $regx);
}
@@ -297,7 +298,8 @@ class Route
if (false !== $match = self::match($regx, $rule)) {
if ($route instanceof \Closure) {
// 执行闭包
return self::invokeRule($route, $match);
$result = self::invokeRule($route, $match);
return is_array($result) ? $result : exit($result);
}
return self::parseRule($rule, $route, $regx);
}