上个月向官方提交了个 PR 优化这个问题,不过一直没有合并,所以需要换成我的库来处理这个问题。
1 2 3 4
| # 卸载官方库 $ composer require topthink/think-trace # 安装我的库 $ composer require hongfs/think-trace:dev-master --dev --prefer-dist
|
创建一个中间件
1
| $ php think make:middleware CloseDebug
|
下面中间件代码只是一个参考,根据自己业务修改。
app\middleware\CloseDebug.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| <?php declare (strict_types = 1);
namespace app\middleware;
class CloseDebug {
public function handle($request, \Closure $next) { if(in_array($request->baseUrl(), ['/login', '/sms'])) { app()->debug(false); }
$controller = $request->controller(); $action = $request->action();
if(($controller === 'Auth' && $action === 'index') || $controller === 'Upload' ) { app()->debug(false); }
if($request->param('debug/d', 1) === 0) { app()->debug(false); }
return $next($request); } }
|
注册路由中间件
config\route.php
1 2 3
| 'middleware' => [ app\middleware\CloseDebug::class, ],
|
TP8 需要换成以下方式:
app\middleware.php
1 2 3
| return [ app\middleware\CloseDebug::class, ];
|