老师, 这章演示的
BaseController 下添加的 __call() 方法,
和 controller/Error.php 的 __call() 方法,
都是针对单应用模式吗?
多应用模式下的报错被 app/api/exception/Http 接管, 是否就没有必要设置两个 __call() 方法了?
结论: 我测试下来, 屏蔽两个 __call(), 报错同样也能显示成 json 格式输出
4种情况如下,
找不到 控制器 报错时
(一) 进 api/controller/Error.php/__call() 方法,
(二) 进 app/api/exception/Http ,
找不到 方法 报错时
(三) 进 BaseController/__call() 方法,
(四) 进 app/api/exception/Http ,
第一种情况: 没有进 api/controller/Error.php/__call() 方法 , 直接进了 app/api/exception/Http, 和第二种情况结果一样.
第二种情况:
第三种情况:
第四种情况:
app/api/exception/Http 我改写如下, 目的是 .env 文件 app_debug=true 时, 显示更多信息的报错, 方便调试; false或上线后统一 json 输出
这样写是否合适?
APP_DEBUG = true 时:
登录后可查看更多问答,登录/注册