为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
PHP ThinkPHP

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

课程章节: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 分钟。

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

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


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消