thinkphp6处理不存在方法或不存在的控制器无效请求的方法
作者:Alpha时间:2021-02-20 阅读数:3820 +人阅读
在tp6中,如果访问不存在的方法或控制器的时候,会有默认的报错提示,如果想修改默认的报错提示,需要怎么处理呢?
1、控制器方法不存在
因为在tp6中,每个方法都要继承BaseController这个基类,我们在这里处理即可。
打开BaseController文件,添加如下方法:
public function __call($name, $arguments) { // TODO: Implement __call() method. // dump($name); // dump($arguments); $result = [ 'status' => 0, 'message' => '找不到该方法', 'result' => null ]; return json($result,400); }
此时再访问一个不存在的方法,就会返回我们指定的错误信息。这个方法是PHP自带的魔术方法,可以输出方法参数查看具体的输出值。
2、控制器不存在情况
如果控制器不存在,我们可以在该应用下的controller目录创建一个Error类,这是tp为我们准备好的,访问的控制器不存在会自动访问这个控制器。
namespace app\controller; class Error { public function __call($name, $arguments) { // TODO: Implement __call() method. $result = [ 'status' => 0, 'message' => '找不到该控制器', 'result' => null ]; return json($result,400); } }
本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了你的权益请来信告知我们删除。邮箱:595397166@qq.com
上一篇: ThinkPHP5系列发布安全更新
下一篇:TP6基础:控制器应用技巧