diff --git a/convention.php b/convention.php index 78b731d7..86f205c1 100644 --- a/convention.php +++ b/convention.php @@ -31,8 +31,6 @@ return [ 'lang_switch_on' => false, // 默认全局过滤方法 用逗号分隔多个 'default_filter' => '', - // 自动Response输出 - 'response_auto_output' => true, // 是否启用控制器类后缀 'use_controller_suffix' => false, @@ -214,9 +212,9 @@ return [ 'slave_no' => '', ], //分页配置 - 'paginate' => [ + 'paginate' => [ 'type' => 'bootstrap', - 'var_page' => 'page' - ] + 'var_page' => 'page', + ], ]; diff --git a/library/think/App.php b/library/think/App.php index 242c6c87..9d5db618 100644 --- a/library/think/App.php +++ b/library/think/App.php @@ -94,13 +94,16 @@ class App // 规则闭包 $data = self::invokeFunction($dispatch['function'], $dispatch['params']); break; + case 'finish': + // 已经完成 不再继续执行 + break; default: throw new Exception('dispatch type not support', 10008); } // 监听app_end APP_HOOK && Hook::listen('app_end', $data); // 输出数据到客户端 - if (Config::get('response_auto_output')) { + if (isset($data)) { // 自动响应输出 return Response::send($data, Response::type(), Config::get('response_return')); } diff --git a/library/think/Route.php b/library/think/Route.php index 0f2b3c3b..17505a98 100644 --- a/library/think/Route.php +++ b/library/think/Route.php @@ -525,7 +525,10 @@ class Route // 匹配到路由规则 // 检测是否定义路由 if (!empty($option['after_behavior'])) { - Hook::exec($option['after_behavior'], $route); + $result = Hook::exec($option['after_behavior'], $route); + if (false === $result) { + return ['type' => 'finish']; + } } if ($route instanceof \Closure) { // 执行闭包