如何使用FireFox插件FirePHP调试PHP


Posted in PHP onJuly 23, 2013

如果你和我一样,你会在开发网页项目时候完全无法离开FireBug。这个小巧的"臭虫"是一个神奇而有用的HTML/CSS/JavaScript/Ajax调试器。但是你也许不知道这个还可以用来调试PHP,没错,它可以,感谢一款名为FirePHP的FireFox插件。

通过一个小小的服务端库,和这款在Firebug上的插件,你的PHP脚本能够发送调试信息到浏览器,轻易的通过HTTP相应头编码。一旦你设置,你可以在Fiirebug的控制台获得PHP脚本警告和错误,就感觉像直接调试JavaScript一样

使用这个工具,首先你需要安装FirePHP插件。这个插件需要你已经安装FireBug。装好FirePHP之后,重新打开Firebug面板时候,你会看到新加了一个蓝色的臭虫图标。点击这个图标会出现一个开启或者关闭FirePHP的菜单。

如何使用FireFox插件FirePHP调试PHP

 

当然,这时候我们还无法做任何事,你还需要安装FirePHP的服务端。这是一个独立的版本,你可以手动下载或者使用PEAR。装后之后,你可是轻松的将这个库加入你的代码。它被设计了很多版本来整合入多个框架或者管理系统,比如 WP-FirePHP plugin for WordPress 和 JFirePHP plugin for Joomla。暂时不管这些,我们将把精力集中在独立的功能上。

一旦你在你服务器上部署了FirePHP库,你还需要在你的代码中加入以下的代码:
require_once('FirePHPCore/fb.php');

这是因为FirePHP通过HTTP头发送记录的数据,你需要缓存你的代码产生的输出,从而来响应头信息从这里获取代码生成的内容。这个可以通过在代码头部的ob_start来实现。

ob_start();
当这些步骤完成后,你可以开始使用FirePHP了。你需要做的只是调用fb函数在任何你想要记录的地方。同时你也可以使用一个可选的标签和常量去定义预定义信息,一个错误,一个警告,或者一条信息。

$var = array('a'=>'pizza', 'b'=>'cookies', 'c'=>'celery');  
fb($var);  
fb($var, "An array");  
fb($var, FirePHP::WARN);  
fb($var, FirePHP::INFO);  
fb($var, 'An array with an Error type', FirePHP::ERROR); 

这些代码将在Firebug控制台输出如下所示

如何使用FireFox插件FirePHP调试PHP

你也可以使用FirePHP来跟踪你程序的执行情况:通过使用FirePHP::TRACE常量,你可以在fb被调用的地方查看行数、类名和方法名

function hello() {  
   fb('Hello World!', FirePHP::TRACE);  
 }  
 function greet() {  
   hello();  
 }  
 greet(); 

产生的输出如下

如何使用FireFox插件FirePHP调试PHP

这个跟踪功能可以完美的调试更复杂的代码,让你精确的知道你的方法是在哪里被调用的。
当然,别忘了你需要在你代码发布之前移除你的调试语句。
这里还有很多FirePHP的内容没有涉及到。我只是向你简单展示一下FirePHP的API,还有很多高级的面向对象API。

PHP 相关文章推荐
PHP 各种排序算法实现代码
Aug 20 PHP
php 中文字符入库或显示乱码问题的解决方法
Apr 12 PHP
一个PHP缓存类代码(附详细说明)
Jun 09 PHP
使用PHP实现二分查找算法代码分享
Jun 24 PHP
基于Snoopy的PHP近似完美获取网站编码的代码
Oct 23 PHP
PHP实现链式操作的核心思想
Jun 23 PHP
PHP获取网站中各文章的第一张图片的代码示例
May 20 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
PHP实现Huffman编码/解码的示例代码
Apr 20 PHP
PHP函数按引用传递参数及函数可选参数用法示例
Jun 04 PHP
PHP PDOStatement::bindParam讲解
Jan 30 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
Apr 13 PHP
PHP时间格式控制符对照表分享
Jul 23 #PHP
利用curl抓取远程页面内容的示例代码
Jul 23 #PHP
奉献出一个封装的curl函数 便于调用(抓数据专用)
Jul 22 #PHP
解析VS2010利用VS.PHP插件调试PHP的方法
Jul 19 #PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
Jul 18 #PHP
php的数组与字符串的转换函数整理汇总
Jul 18 #PHP
使用PHP编写的SVN类
Jul 18 #PHP
You might like
PHP性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
php 带逗号千位符数字的处理方法
2012/01/10 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
PHP+JS三级菜单联动菜单实现方法
2016/02/24 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
javascript下拉框选项单击事件的例子分享
2015/03/04 Javascript
Bootstrap每天必学之滚动监听
2016/03/16 Javascript
DOM 事件的深入浅出(一)
2016/12/05 Javascript
jQuery实现别踩白块儿网页版小游戏
2017/01/18 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
JavaScript callback回调函数用法实例分析
2018/05/08 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
如何利用vue实现波谱拟合详解
2020/11/05 Javascript
解决VUE项目使用Element-ui 下拉组件的验证失效问题
2020/11/07 Javascript
Vue项目打包部署到apache服务器的方法步骤
2021/02/01 Vue.js
python基础教程之基本内置数据类型介绍
2014/02/20 Python
Python是编译运行的验证方法
2015/01/30 Python
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
对python 中class与变量的使用方法详解
2019/06/26 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
自适应线性神经网络Adaline的python实现详解
2019/09/30 Python
python 使用递归的方式实现语义图片分割功能
2020/07/16 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
管理学院毕业生自荐信范文
2014/03/10 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
捐助贫困学生倡议书
2014/05/16 职场文书
授权收款委托书
2014/09/23 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
2014年后勤工作总结
2014/11/18 职场文书
2015年环卫处个人工作总结
2015/07/27 职场文书
公司备用金管理制度
2015/08/04 职场文书
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android