如何使用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 相关文章推荐
模仿OSO的论坛(一)
Oct 09 PHP
PHP下通过file_get_contents的代理使用方法
Feb 16 PHP
探讨如何在PHP开启gzip页面压缩实例
Jun 09 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
Zend Guard使用指南及问题处理
Jan 07 PHP
php查询mysql大量数据造成内存不足的解决方法
Mar 04 PHP
php通过asort()给关联数组按照值排序的方法
Mar 18 PHP
php邮箱地址正则表达式验证
Nov 13 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
Nov 16 PHP
根据key删除数组中指定的元素实现方法
Mar 02 PHP
PHP 对象继承原理与简单用法示例
Apr 21 PHP
PHP连接SQL server数据库测试脚本运行实例
Aug 24 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
10个实用的PHP正则表达式汇总
2014/10/23 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
PHP巧妙利用位运算实现网站权限管理的方法
2017/03/12 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
asp.net+js 实现无刷新上传解析csv文件的代码
2010/05/17 Javascript
Jquery之美中不足小结
2011/02/16 Javascript
ParseInt函数参数设置介绍
2014/01/02 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
H5图片压缩与上传实例
2017/04/21 Javascript
vuejs手把手教你写一个完整的购物车实例代码
2017/07/06 Javascript
jQuery实现使用sort方法对json数据排序的方法
2018/04/17 jQuery
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
vue中接口域名配置为全局变量的实现方法
2018/09/20 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
javascript实现简易数码时钟
2020/03/30 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
2020/11/06 Javascript
[01:00:12]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第一场
2018/04/09 DOTA
python计算auc指标实例
2017/07/13 Python
利用python获取当前日期前后N天或N月日期的方法示例
2017/07/30 Python
78行Python代码实现现微信撤回消息功能
2018/07/26 Python
python flask框架实现重定向功能示例
2019/07/02 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
基于Python实现粒子滤波效果
2020/12/01 Python
时尚的CSS3进度条效果
2012/02/22 HTML / CSS
详解CSS3实现响应式手风琴效果
2020/06/10 HTML / CSS
瑜伽服装品牌:露露柠檬(lululemon athletica)
2017/06/04 全球购物
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
奥地利网上书店:Weltbild
2017/07/14 全球购物
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
Lululemon英国官网:加拿大瑜伽服装品牌
2019/01/14 全球购物
综合办公室个人的自我评价
2013/12/22 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
财务内勤岗位职责
2014/04/17 职场文书
人才市场接收函
2015/01/30 职场文书
2015年后备干部工作总结
2015/05/15 职场文书