最近整理了一下常用的工具函数和方法,特此记录
1. Error类
在CI框架中(或者一般的MVC框架中),报错信息的输出是一个比较有价值的单元,除了PHP本身的报错,可以用Log来记录以外。一些例如日常登录报错,返回信息报错等问题,若是单独的输出一个字符串之类的,不仅不美观,也不利于标准化。
故而可以在application/libraries中设置一个Error_reporting类,以其中标准的报错信息来代替零散化的报错,从而更好的定位错误。
例:
class Error_reporting { public static $err = [ "101" => ["code"=>"101","msg"=>"logged out"], "102"=> ["code"=>"102","msg"=>"format error"], "200"=> ["code"=>"200","msg"=>"success"] ]; }其中,声明类中一个public的静态常量$err,以key-value的形式对统一报错的数据给予约束,由此,我们在进行报错时,可以用Error_reporting::$err[101]的形式来调用错误码为101,报错信息为登出的单位,同时更好的json化。
2. 统一Json输出
由于在控制器函数中,常常有直接返回数据的类别;而每次为这些数据写一个echo json_encode(XXX),不仅显得臃肿不美观,更会使得某些输出问题不便暴露。故而可以在根控制器(父类控制器)中封装如下函数:
public function returnJson($data){ echo json_encode($data); }
则所有的输出json的函数都可以如此调用$this->returnJson(Error_reporting::$err[101]); 从而更好的格式化输出
3. Log日志
CI中有自带的Log类,来记录框架报错内容,例如数据库错误等等;而本处的Log更多的是偏向于自定义类型的错误,如1中所定义的错误出现时,可以记录在自带的日志文件中:
日志以每天为分割,记录在文件中;逐行更新;记录的主要为报错函数,报错位置,报错参数
(未完待续)