如何使用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 self,$this,const,static,->的使用
Oct 22 PHP
php入门学习知识点五 关于php数组的几个基本操作
Jul 14 PHP
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
Sep 28 PHP
ThinkPHP实现批量删除数据的代码实例
Jul 02 PHP
smarty模板引擎中自定义函数的方法
Jan 22 PHP
PHP实现获取并生成数据库字典的方法
May 04 PHP
wordpress网站转移到本地运行测试的方法
Mar 15 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
php实现微信公众号企业转账功能
Oct 01 PHP
在 PHP 和 Laravel 中使用 Traits的方法
Nov 13 PHP
Laravel框架数据库迁移操作实例详解
Apr 06 PHP
Yii 框架使用Forms操作详解
May 18 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
MYSQL环境变量设置方法
2007/01/15 PHP
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
2009/10/22 PHP
抓取并下载CSS中所有图片文件的php代码
2011/09/26 PHP
PHP常用技巧总结(附函数代码)
2012/02/04 PHP
php使用PDO操作MySQL数据库实例
2014/12/30 PHP
PHP实现在线阅读PDF文件的方法
2015/06/17 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
2016/03/05 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
2006/12/27 Javascript
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)
2014/05/11 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
使用原生js写ajax实例(推荐)
2017/05/31 Javascript
JS实现遍历不规则多维数组的方法
2018/03/21 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
2018/03/26 Javascript
vue项目前端错误收集之sentry教程详解
2019/05/27 Javascript
[03:31]DOTA2英雄基础教程 大地之灵
2013/12/17 DOTA
python 递归遍历文件夹,并打印满足条件的文件路径实例
2017/08/30 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
python 工具 字符串转numpy浮点数组的实现
2020/03/14 Python
Python执行时间的几种计算方法
2020/07/31 Python
护士个人简历自荐信
2013/10/18 职场文书
工地门卫岗位职责
2013/12/30 职场文书
2014年自我评价
2014/01/04 职场文书
党课培训主持词
2014/04/01 职场文书
幼儿生日活动方案
2014/08/27 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
2014年教师个人工作总结
2014/11/10 职场文书
义诊活动通知
2015/04/24 职场文书
社区党支部承诺书
2015/04/29 职场文书
永远是春天观后感
2015/06/12 职场文书
演讲开头怎么书写?
2019/08/06 职场文书
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL
一篇文章带你深入了解Mysql触发器
2021/08/02 MySQL