[PHP Whoops] 错误&异常 诊断组件
【Whoops 简介】:开发环境中需要显示错误,但是PHP默认显示的错误消息很难看,而且经常穿插在PHP脚本的输出里,难以阅读。然而 Whoops 可以改变这种情况,Whoops 是个现代的PHP组件,为PHP错误和异常提供了设计精美且易于阅读的诊断页面。
【多种格式】:Whoops 的强大还在于它能提供多种类型的错误输出:文本,JSON,XML 等一共5种格式类型
【Packagist】:https://packagist.org/packages/filp/whoops
【GitHub】:https://github.com/filp/whoops
【安装】:默认使用 Composer 进行安装,若不会使用 Composer 请参考“【PHP Composer】安装&使用“
composer require filp/whoops
【使用】:使用 Whoops 十分地简单,只需将下列代码放到引导文件中即可,这也是最重要的一点:想要捕获所有的错误和异常就必须在程序的开头就注册组件,这样即使是再复杂的框架也能捕获到具体的错误信息以及位置
$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
$whoops->register();
【示例】:在这个示例中我们先注册 Whoops 组件,然后故意将代码写错,目的是为了演示 Whoops 的诊断页面
<?php
# @ Composer 自动加载器
require 'vendor/autoload.php';
# @ Whoops 组件
$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
$whoops->register();
# @ PHPexcel 函数类调用
if( $_POST['EXCEL'] )
{
$objPHPExcel = APHPExcel_IOFactory::load($_POST['EXCEL']);
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
# @ 输出结果
var_dump($sheetData);
}
?>
【输出】:
【其它格式】:如同上文所说 Whoops 还支持许多其它格式的错误输出
# @ 默认诊断页面
PrettyPageHandler
# @ 纯本文信息
PlainTextHandler
# @ 错误回调
CallbackHandler
# @ JSON 输出
JsonResponseHandler
# @ XML 输出
XmlResponseHandler
【其它示例】:这里简单演示下 JSON & XML 格式的错误输出
【JSON】:
# @ JSON 格式
$whoops->pushHandler(new \Whoops\Handler\JsonResponseHandler);
# @ JSON ERROR
{"error":{"type":"Whoops\\Exception\\ErrorException","message":"Class 'APHPExcel_IOFactory' not found","file":"D:\\wamp\\www\\Excel\\DealExcel.php","line":12}}
【XML】:
# @ XML 格式
$whoops->pushHandler(new \Whoops\Handler\XmlResponseHandler);
# @ XML ERROR
【Tips】:欢迎有兴趣一起学习进步的朋友添加我的印象笔记账号:note1071.38f6955@m.yinxiang.com,或者将你的印象笔记账号发至我的邮箱:ms.work.note.dev@outlook.com
本作品采用《CC 协议》,转载必须注明作者和本文链接
头图分辨率太差,冒昧地给你换了一张
@Summer 多谢大哥~