放牧代码和思想
专注自然语言处理、机器学习算法
    时间有限,只有GitHub上的issue能及时处理,大约每周末一次。另外,不要叫我楼主,谢谢。

PHP调试类Krumo使用教程

写程序最讨厌的是程序发生错误,但是却又不知道该从何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折叠的功能将发挥出强大的效果!

知识共享许可协议 知识共享署名-非商业性使用-相同方式共享码农场 » PHP调试类Krumo使用教程

分享到:更多 ()

评论 欢迎留言

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

我的开源项目

HanLP自然语言处理包基于DoubleArrayTrie的Aho Corasick自动机