如何使用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 相关文章推荐
我的论坛源代码(四)
Oct 09 PHP
新手学PHP之数据库操作详解及乱码解决!
Jan 02 PHP
让PHP开发者事半功倍的十大技巧小结
Apr 20 PHP
php文件上传表单摘自drupal的代码
Feb 15 PHP
浅析SVN常见问题及解决方法
Jun 21 PHP
php配合jquery实现增删操作具体实例
Dec 12 PHP
PHP中使用break跳出多重循环代码实例
Jan 21 PHP
smarty内置函数config_load用法实例
Jan 22 PHP
php生成图片验证码
Jun 09 PHP
Zend Framework自定义Helper类相关注意事项总结
Mar 14 PHP
常用PHP封装分页工具类
Jan 14 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 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
PHP实现采集中国天气网未来7天天气
2014/10/15 PHP
php获取指定日期之间的各个周和月的起止时间
2014/11/24 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
摘自织梦CMS中的图片处理类
2015/08/08 PHP
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
jQuery Jcrop插件实现图片选取功能
2011/11/23 Javascript
js控制滚动条缓慢滚动到顶部实现代码
2013/03/20 Javascript
js文件缓存之版本管理详解
2013/07/05 Javascript
js单词形式的运算符
2014/05/06 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
详解Element-UI中上传的文件前端处理
2019/08/07 Javascript
Vue 动态路由的实现及 Springsecurity 按钮级别的权限控制
2019/09/05 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
[47:03]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第二场 12.10
2020/12/13 DOTA
python获取标准北京时间的方法
2015/03/24 Python
浅谈python中的正则表达式(re模块)
2017/10/17 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
python属于解释型语言么
2020/06/15 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
Tom Dixon官网:英国照明及家具设计和制造公司
2019/03/01 全球购物
精选奢华:THE LIST
2019/09/05 全球购物
高分子材料与工程专业推荐信
2013/12/01 职场文书
大学军训感言
2014/01/10 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
护士优质服务演讲稿
2014/08/26 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
邓小平文选读书笔记
2015/06/29 职场文书
小学英语教学经验交流材料
2015/11/02 职场文书
2016幼儿园毕业感言
2015/12/08 职场文书
小学英语课教学反思
2016/02/15 职场文书
初三英语教学反思
2016/02/15 职场文书
Python内置数据类型中的集合详解
2022/03/18 Python