【Whoops 简介】:开发环境中需要显示错误,但是PHP默认显示的错误消息很难看,而且经常穿插在PHP脚本的输出里,难以阅读。然而 Whoops 可以改变这种情况,Whoops 是个现代的PHP组件,为PHP错误和异常提供了设计精美且易于阅读的诊断页面。

【多种格式】:Whoops 的强大还在于它能提供多种类型的错误输出:文本,JSON,XML 等一共5种格式类型

【安装】:默认使用 Composer 进行安装,若不会使用 Composer 请参考“【PHP Composer】安装&使用“

composer require filp/whoops

【使用】:使用 Whoops 十分地简单,只需将下列代码放到引导文件中即可,这也是最重要的一点:想要捕获所有的错误和异常就必须在程序的开头就注册组件,这样即使是再复杂的框架也能捕获到具体的错误信息以及位置

$whoops = new \Whoops\Run;

$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);

$whoops->register();

【示例】:在这个示例中我们先注册 Whoops 组件,然后故意将代码写错,目的是为了演示 Whoops 的诊断页面

# @ 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 协议》,转载必须注明作者和本文链接

php whoops用法,[PHP Whoops] 错误异常 诊断组件相关推荐

  1. php js 报错信息,JavaScript中错误异常的分析(附示例)

    本篇文章给大家带来的内容是关于JavaScript中错误异常的分析(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 我的建议是不要隐藏错误,勇敢地抛出来.没有人会因为代码出现 ...

  2. JavaScript中错误异常的分析

    JavaScript 提供一套错误处理机制,错误是干扰程序正常流程的非正常的事故.而没人可以保持程序没有 bug,那么上线后遇到特殊的 bug,如何更快的定位问题所在呢?这就是我们这个专题需要讨论的问 ...

  3. TF版本升级问题集合:成功解决由于不同的TensorFlow版本之间某些函数的用法引起的错误

    TF版本升级问题集合:成功解决由于不同的TensorFlow版本之间某些函数的用法引起的错误 目录 遇到的问题以及对应解决方法 遇到的问题以及对应解决方法 Transitioning to Tenso ...

  4. python中ioerror怎么解决_Python IOError错误异常原因|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ python语言IOError错误一般多发生在对文件操作报错时,表示要打开的文件不存在,当然能引发IOEr ...

  5. python上一行的代码打错了怎么办_写Python代码过程中碰到各种错误异常要怎么样去处理?...

    错误异常即便Python程序的语法是正确的,在程序运行的过程中,也可能发生错误.运行期检测到的错误被称为异常. 如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因. ...

  6. mysql 远程load data,PyMySQL将(文件)数据加载到远程MySQL实例时发生错误/异常

    我正在使用PyMySQL-0.5.0并在将数据从文件加载到远程MySQL实例时遇到了一个模糊的错误/异常.在执行"loaddatalocalinfile-"语句时,我看到一个异常, ...

  7. php 错误 异常,php中的异常和错误解析

    PHP错误是属于php程序自身的问题,一般是由非法的语法,环境问题导致的,使得编译器无法通过检查甚至无法运行的情况.PHP异常一般是业务逻辑上出现的不合预期.与正常流程不同的状况,不是语法错误.本文介 ...

  8. HTTP网络连接相关知识整理(三):网络错误异常

    一.tcp连接错误 待补充 二.应用层(HTTP)错误异常 HTTP错误主要分成三类:用户设备问题.Web服务器问题和连接问题.当客户端向Web服务器发送一个HTTP请求时,服务器都会返回一个响应代码 ...

  9. Mac下Cornerstone错误异常导致打不开

    Mac下Cornerstone错误异常导致打不开 副标题:SVN客户端异常打不开 一.问题描述: Mac下使用的SVN客户端是Cornerstone,版本2.7.10.破解版. 今日使用的时候,可能更 ...

最新文章

  1. Jekyll博客统计访问量,阅读量工具总结--LeanCloud,不蒜子,Valine,Google Analytics
  2. WebMagic实现分布式抓取以及断点抓取
  3. 对不队—— Alpha冲刺
  4. Django(part29)--Q对象
  5. mysql重命名数据表称方式_在MySQL中,使用()重命名数据表。_学小易找答案
  6. REST与Apache Camel
  7. Kubernetes 上对应用程序进行故障排除的 6 个技巧
  8. Android Support Annotations
  9. [译] 或许你并不需要 Rust 和 WASM 来提升 JS 的执行效率 — 第二部分
  10. 医咖会免费SPSS教程学习笔记—广义线性模型
  11. 【Python爬虫】之西瓜视频地址解密20210822
  12. VAR(向量自回归)模型
  13. hdu 6080 度度熊保护村庄(floydS使用技巧)
  14. 静校正问题及其深度学习方法
  15. 计算机维修5级,电脑芯片级维修教程
  16. webservice wsdl 转java对象
  17. spring-data-redis 实现用户登录次数限制以及冻结时间重试机制
  18. cmake错误:Could not find a configuration file for package “Eigen3“
  19. 如何使用WGCLOUD实时监控网站状态并告警
  20. 前端基础之CSS复合选择器

热门文章

  1. 2019中国最佳表现城市排行榜发布,成都、深圳位居前列
  2. js前端json格式化排版
  3. 2021-05-24chrome浏览器市场份额2018年1月占比上升至61.41%
  4. as precise as possible
  5. 如何用Luminar 3图像后期处理软件制作与众不同的黑白照片?
  6. codevs 5971 打击犯罪
  7. 剑网三客户端修复连接服务器失败,剑网3客户端启动异常怎么办_剑网3客户端启动异常怎么解决_快吧游戏...
  8. 正则表达式 | 关于正则表达式匹配密码问题
  9. 基于springboot教师排课课系统 毕业设计-附源码310858
  10. 一个程序员的水平能差到什么程度?尼玛,都是人才呀...