今天给大家推荐一个php调试利器,FirePHP!
我们可以利用浏览器的控制台来调试`JavaScript`脚本,但是对于像php这种服务端的脚本,你知道如何调试吗?
以Chrome浏览器为例,具体实施步骤如下:
1. 安装FirePHP插件
在Chrome浏览器的应用商店中,搜索`FirePHP`关键词,在出来的插件列表中,选择第一个,将它添加到Chrome即可。
![](https://box.kancloud.cn/e84d09970ce2bf6e54d6f478b700d7be_958x494.png)
2. 获取FirePHP类库
仅仅安装好FirePHP浏览器端的插件是不够的,我们还需要安装它的服务端,FirePHP类库下载地址:`http://www.firephp.org/`,如图:
![](https://box.kancloud.cn/0ca393a178705861fd1d6c2d9d92d58a_811x545.png)
下载完成后,将压缩包中的`fb.php`和`FirePHP.class.php`两个文件,拷贝到项目中,如图:
![](https://box.kancloud.cn/ba03cd5d29d41f7342bb8b9a2aa427d1_640x282.png)
由于我的开发环境是ThinkPHP,所以我将它拷贝到了Library的Vendor目录下,如图:
![](https://box.kancloud.cn/7e8c887f7fbe6b7dd6ec647a0402e81b_246x321.png)
3. 如何使用
FirePHP的插件和类库都已经安装好了,下面我们来看下如何使用它。
首先,我写了一个FirePHP的工具类,内容如下:
~~~
<?php
namespace Common\Lib\Util;
if (!class_exists('FB')) {
vendor('FirePHP.fb');
}
class FireBug {
/**
* 将php调试信息打印到控制台
* @param mixes $object : 待输出的数据,类型可以是字符串、数组或者对象
* @param string $label : 标题
* @param boolean $showTrace : 是否显示调用跟踪信息
*/
public static function console($object, $label=null, $showTrace=false){
//开发与生产模式的开关标识,我们只在开发模式下调试脚本
if (!DEBUG_PHP) {
return;
}
try {
$label = $label ? $label : time();
\FB::log($object,$label);
if (is_array($object) || is_object($object)) {
$headers = array_keys(reset($object));
if (is_array($headers)) {
array_unshift($object,$headers);
\FB::table($label,$object);
}else{
\FB::table($label,array(array_keys($object),$object));
}
}else if(is_object($object)){
\FB::table($label,$object);
}
if ($showTrace) {
\FB::trace($label);
}
} catch (Exception $e) {
echo '请开启输出缓冲函数ob_start()';
}
}
}
~~~
然后,在需要调试的地方,调用它,如下:
![](https://box.kancloud.cn/aa26511efe2bb408013cf7857b10f13f_610x340.png)
打开Chrome浏览器的控制台,我们将会看到如下输出:
![](https://box.kancloud.cn/ff974c62890f540ee76d8b0de0c33ee7_1349x308.png)
通过FirePHP,就不需要把调试信息用`echo`,`print_r`或者日志的形式输出了,无形中加快了我们的开发进程。
* * * * *
http://blog.csdn.net/zhouzme/article/details/33327675
- 数组
- 深拷贝
- 数组操作
- 交/并/合
- 差值
- 搜索
- 排序
- 货币
- 字符串
- 补全
- heredoc
- session
- 注销
- 限时自动注销
- 日期时间
- 日期时间
- 某月首尾
- 格式判断
- 年龄计算
- 时间函数
- strtotime
- 版本升级
- $HTTP_RAW_POST_DATA
- 正则函数等
- 版本比较
- php5.3 PHP5.4 PHP5.5 php5.6 新特性
- PHP注释
- URL地址
- 页面超时
- 类方法
- 静态方法
- 子类静态方法
- 普通方法和静态方法
- call_user_func 和 call_user_func_array
- 函数
- 动态函数
- 数组循环
- Math函数
- 取整
- 除数余数
- 运行模式
- CLI 模式
- 常用CLI命令
- 检测环境支持php_cli模式?
- 调试
- 调试工具
- FirePHP
- ChromePHP
- 内置服务器
- 500 错误处理
- 命令行
- 远程操作
- HTTP
- HTTP headers
- 用例
- 保留字
- 教程
- PHP实战教程-0基础快速入门
- 接口与抽象类
- 抽象类与接口的区别
- 魔术方法
- 私有属性方法
- 构造/析构方法
- PHP Error 和 Logging 函数
- 类
- const