在 Laravel 5.5 中可以为任何自定义异常定义一个report 方法。Laravel 会自动在异常处理类Illuminate\Foundation\Exceptions\Handler 中检查异常中是否存在 report 方法。
if (method_exists($e, 'report')) { return $e->report(); }
这可以方便的发邮件通知开发者、报告给应用的监控软件、或者执行异常抛出的事件中需要的动作。
在之前的版本中,通过编辑 App\Exceptions\Handler 类中的 report 方法也可以实现相同的结果。在这里你可以监听一个特定异常的实例,并执行相应的动作。
public function report(Exception $exception) { if ($exception instanceof MyException) { // do something here such as send an email to developer or notify monitoring app } return parent::report($exception); }
你可以想象到,随着应用的增长,这将会变得越来越复杂且不易维护。
Laravel 5.5 中这个小小的变化可以确保这将不再是什么问题。
via: laravel-news
该篇属于专题:《Laravel 5.5 资讯》
goyouhuima.com 2017/04/26 12:45
支持 越来越完善
灰常记忆 2017/05/04 18:47
现在你只折腾这个了
Specs 2017/05/06 16:29
@ 这个也很少有时间折腾了