关于PHP的烦恼之一是它引发的错误消息过于简洁。并不是说完全没用;最让人头疼的是,必须在给定的错误位置打开源文件来检查问题。此外,也不容易获得完整的系统上下文,例如(PHP系统变量,cookie,会话等)。
Whoops是一个不错的错误提示库,它通过帮助您以用户友好的方式处理错误和异常来帮助您更好地开发和维护PHP项目。Whoops已经是Laravel 4的一部分,放心用起来。
看看下面这个错误代码:
$planets = array(); echo $planets[0];
执行将输出:
Notice: Undefined offset: 0 in D:\localhost\projects\test\test.php on line 27
使用了Whoops实际的错误页面包含的信息比此处提供的信息还要多-比如会话变量,Cookie,HTTP标头等。
通过composer安装Whoops
{
"require": {
"filp/whoops": "*"
}
}在项目中使用
$run = new \Whoops\Run; $handler = new \Whoops\Handler\PrettyPageHandler; $JsonHandler = new \Whoops\Handler\JsonResponseHandler; $run--->pushHandler($JsonHandler); $run->pushHandler($handler); $run->register(); /* Sample code that throws an error */ $planets = array(); echo $planets[0];
执行即可看到效果
另外我们还可以自定义信息
$run = new \Whoops\Run;
$handler = new \Whoops\Handler\PrettyPageHandler;
$JsonHandler = new \Whoops\Handler\JsonResponseHandler;
/* 设置页面标题 */
$handler->setPageTitle("Oops, Error encountered!");
/* 其他信息设置 */
$handler->addDataTable("Extra Slice of Info", array(
"page-id" => 173,
"page-name" => "foo-bar",
"app-name" => "fb"
));
$run->pushHandler($handler);
$run->register();更多的玩法参考文档官方文档
<!doctype html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <bod...
if($_SERVER['REQUEST_METHOD'] == 'POST') { echo('This is post '); } elseif ($_SERVER['...
逛公众号文章看到文章"php实现事件监听与触发的方法,你用过吗?",我就好奇了,php又不是asp.net的webform,哪里来的服务端事件监听。于是学习了一波。先看下监听类:class Event { /** &nbs...
Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者(publisher),订阅者(subscriber)和频道(channel)。 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个...
(1).config.php 配置文件<?php /** * RabbitMQ_Config */ $config = [ 'host' => ...
<?php /** * @throws Exception */ function curl() { throw new \Exception('err...