当路由定义的callback为匿名函数[即不是控制器方法]时 以下异常处理器失效只能走默认的

php_coder
config/exception.php
<?php
return [
    '' => support\exception\Handler::class,
    // 当路由定义的callback为匿名函数[即不是控制器方法]时 以下异常处理器失效只能走默认的
    'api' => \app\api\ApiException::class
];

不知是我路由配置的有问题还是就是这样的

300 3 0
3个回答

walkor 打赏

匿名函数不属于任何应用,只走默认的异常处理

  • php_coder 14天前

    写到Route::group中,给group设置中间件也不能使用try catch捕捉到???

morris

这种正常逻辑吧。
和中间件的配置一个逻辑。 不属于任何应用 就只能走默认了

  • php_coder 14天前

    写到Route::group中,给group设置中间件也不能使用try catch捕捉到???

nitron

路由是路由,应用是应用,
路由的闭包函数内$request->app,$request->controller,$request->action都是空字符串,所以只会走默认应用,也就是

['' => support\exception\Handler::class]
  • php_coder 11天前

    好几个应用都在这一个上边,服务不一样响应结果格式也不一样的话。这样就是在support\exception\Handler中自己判断当前请求应该属于哪个应用了。

🔝