如何使用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 相关文章推荐
Mysql的常用命令
Oct 09 PHP
用PHP制作静态网站的模板框架(四)
Oct 09 PHP
ZF等常用php框架中存在的问题
Jan 10 PHP
PHP 得到根目录的 __FILE__ 常量
Jul 23 PHP
从康盛产品(discuz)提取出来的模板类
Jun 28 PHP
PHP编码转换
Nov 05 PHP
使用Apache的htaccess防止图片被盗链的解决方法
Apr 27 PHP
PHP 5.3新增魔术方法__invoke概述
Jul 23 PHP
PHP命名空间(namespace)的动态访问及使用技巧
Aug 18 PHP
ThinkPHP模版引擎之变量输出详解
Dec 05 PHP
PHP创建PowerPoint2007文档的方法
Dec 10 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 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使用PDO、mysqli扩展实现与数据库交互操作详解
2019/07/20 PHP
JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理
2009/10/25 Javascript
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
JavaScript 对Cookie 操作的封装小结
2009/12/31 Javascript
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
javascript event 事件解析
2011/01/31 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
JavaScript中Date.toSource()方法的使用教程
2015/06/12 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
angularjs 源码解析之scope
2016/08/22 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
详解node中创建服务进程
2017/05/09 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
webpack打包并将文件加载到指定的位置方法
2018/02/22 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
小程序实现tab标签页
2020/11/16 Javascript
解决python3在anaconda下安装caffe失败的问题
2017/06/15 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
python打印异常信息的两种实现方式
2019/12/24 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
Python文件夹批处理操作代码实例
2020/07/21 Python
Python 处理日期时间的Arrow库使用
2020/08/18 Python
Lampenwelt德国:欧洲领先的灯具和照明在线商店
2018/08/05 全球购物
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
2012/01/21 面试题
应聘医药代表职位求职信
2013/10/21 职场文书
面试后感谢信怎么写
2014/02/01 职场文书
会计专业自荐书
2014/07/08 职场文书
授权委托书样本
2014/09/25 职场文书
父亲去世追悼词
2015/06/23 职场文书
先进个人主要事迹怎么写
2015/11/04 职场文书
Python基于百度AI实现抓取表情包
2021/06/27 Python
PyMongo 查询数据的实现
2021/06/28 Python
SQL 聚合、分组和排序
2021/11/11 MySQL
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL