继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【金秋打卡】第6天 实现自定义全局异常处理,ThinkPHP5中的日志系统

断线纸鸢1
关注TA
已关注
手记 42
粉丝 2
获赞 1

课程名称:微信小程序电商实战 从前端到后端的全流程精讲

课程章节:6-5 实现自定义全局异常处理,6-6 ThinkPHP5中的日志系统

课程讲师: 7七月

课程内容:

今天学习的内容主要是实现自定义全局异常处理和ThinkPHP5中的日志系统,具体概括如下:

重写 render() 方法
一、如何区分两种不同的异常类型
从结果反推 凡是属于 BaseException 的都是属于第1种异常分类(用户行为导致,需要向用户返回信息)
if($e instanceof BaseException)
// 如果是自定义的异常
private $code;...
$request = Request::instance();
// 客户端当前请示的url路径
赋值:$this->code = $e->code;...
else{}
$result = [
...
$request->url()
];
return json($result,$this->code);

第二种类型的异常
不希望用户知道是什么异常
else{
    $this->code = 500;
    $this->msg = '服务器错误';
    $this->errorCode = 999;
}

记录日志->发现问题->解决问题
记录日志是解决生产环境下问题的常用方法。
在全局中记录日常信息(缺点:格式固定)。
TP5框架有默认自动记录日志的功能。
config.php('path'=>LOG_PATH')
index.php(require '... /start.php';)
start.php位于thinkphp目录
start.php(require ...'base.php';)
base.php(RUNTIME_PHP...runtime目录)
runtime目录 -> log目录

课程收获:

今天从七月老师的课程中学到了自定义全局异常处理和日志处理。并非所有日志都应该被记录,大多数是无用信息,建议关闭 thinkPHP 的自动记录日志功能。只选择自己需要的信息。今天学完了第六章,明天开始学第七章,学了七个小节,比又增进了一点。因篇幅有限所以这篇手记依旧只选取了前个两节,明日再续。

今日课程学习时间大约花费 48 分钟。

http://img3.sycdn.imooc.com/636e546700015b3018610901.jpg

http://img1.sycdn.imooc.com/636e54680001a9e518620892.jpg


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP