关于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();更多的玩法参考文档官方文档
前公司吃饭是需要在钉钉报餐的,对于不挑剔的我每天都在公司吃饭,有时忘记报餐导致吃不了饭还是很麻烦的。看了下报餐系统需要的是json数据包含我的工号即可。于是编写如下代码,放在360网址监控,1小时执行1次<?php /*自动报餐类*/ class AutoBaocan{...
<?php $base64_body = substr(strstr($_POST[base64],','),1); $data= base64_decode($base64_body); file_put_contents($_SERVER[&q...
项目需要使用websocket推送最新订单,客户服务器非linux不支持swoole,因此使用原生,直接上代码(1).PHP服务端<?php ini_set('error_reporting', E_ALL ^ E_NOTICE); ini_set...
在一个正式项目中操作人员提交239个产品信息进行保存,但是系统却提示没有提交239个产品,于是开启错误信息,显示如下:Warning: Unknown: Input variables exceeded 1000. To incr...
逛公众号文章看到文章"php实现事件监听与触发的方法,你用过吗?",我就好奇了,php又不是asp.net的webform,哪里来的服务端事件监听。于是学习了一波。先看下监听类:class Event { /** &nbs...
<?php $member = new class { public function getInfo() { ...