如何优雅的定义返回给客户端错误码和信息
各位,平时你们的项目都是如何定义错误码及错误信息的,比如要返回给客户端一个[‘code’ => 234, ‘message’ => ‘您所需要的* * * 未找到’],这里的 234,和后面的 ‘您所需要的 * * * 未找到’,你们都是在哪里定义的呢,如果直接写在控制器,感觉不是跟优雅,应该需要把这些错误码和信息的文件单独提出来放到一个文件吧,具体应该怎么写最优雅呢?
关于 LearnKu
mark
我会在App同级下面新建一个Infrastructure文件,里面放Code、Response文件夹,对应文件夹里面放对应的ACode.php和AResponse.php 分别来做你说的事情 ,这部分也可以有个对应的CommonCode.php,CommonResponse.php
简单点,你可以直接
throw new HttpException(400, 'xxxxx|203');然后重写异常处理。如果说每个错误码都要严格规定统一就要封装一个类。
composer 安装扩展
程序返回
自定义其他返回值
直接在
app/Exceptions文件夹中新建自己的异常类,如MyException,然后在这个异常里面定义一堆code与message的对应关系(可以参考HttpRsponse类中,定义响应码与响应消息的方式)。然后在控制器或者其他位置,直接throw new \App\Exceptions\MyException(4444);完事都写在 config/code.php 然后