写程序最讨厌的是程序发生错误,但是却又不知道该从何debug起,我们通常会使用print_r 或者 var_dump 或者是 echo 慢慢的debug。如果你跟我一样使用PHP 5开发,现在可以使用Krumo这个简单好用的工具帮助我们做这件事情。
虽然IDE也有内建的debug工具,但是并不是每个人都使用IDE来进行PHP的开发,这时候Krumo就可以大展身手,即使使用IDE来开发,我相信Krumo也可以帮忙我们节省不少时间。但是由于Krumo只支援PHP 5,所以使用PHP 4的朋友只好说声抱歉,或者是将PHP升级到5。
当我们下载Krumo之后,只需要将Krumo的路径设定在INCLUDE_PATH或者是将完整路径写在class.krumo.php里面,Krumo是使用CSS和树状目录来显示debug讯息,所以在krumo.ini这个设定档里面我们可以选择我们想要使用的skin,debug工具也有skin可以选?没错,你没有看错,真的是这样。
使用Krumo的方法:
首先去下载一个Krumo http://sourceforge.net/projects/krumo/ 解压在一个有运行权限的目录下,然后用include_once '../krumo/class.krumo.php';将Krumo导入进来,接下来就enjoy it!如果你用的是eclipse开发环境的话,将Krumo的路径包含到
PHP Include Path里的话,可以大幅减少eclipse的警告。操作步骤如下:
右击工程的PHP Include Path目录,选择如下:
接下来选择库选项卡:
在这个选项卡里单击Add External Source Folder……,选择你的krumo路径:
确定之后就可以从eclipse里面看到krumo的信息了,还可以使用eclipse的代码补全,很方便吧
给出一段测试krumo强大功能的代码:
<?php header("Content-type: text/html; charset=utf-8"); include_once '../krumo/class.krumo.php'; echo "我可以打印\$_GET变量:"; krumo::get(); echo "输出http header信息:"; krumo::headers(); echo "两种方式打印数组:"; $array=array(1=>'hao123',2=>'tudou',3=>'2333'); echo "原生的:"; krumo::dump($array); echo "没有修改过的,你可以自定义这个函数的名称:"; krumo($array); // 打印调试追踪 krumo::backtrace(); // 打印所有 included(or required) 文件 krumo::includes(); // 打印所有 included 函数 krumo::functions(); // 打印所有声明了的类 krumo::classes(); // 打印所有define常量 krumo::defines();
测试效果,很强大吧:
此外我们也可以动态的开启或关闭Krumo
// disable Krumo krumo::disable(); // Krumo is disabled, nothing is printed krumo::includes(); // enable Krumo krumo::enable(); // Krumo is enable, printing is OK krumo::classes();
特别是在数组有嵌套的时候,Krumo折叠的功能将发挥出强大的效果!