当前位置: 首页 > 图文教程 > 网络编程 > PHP > FireFox插件FirePHP调试PHP

PHP
网站开发者参考:开源PHP网站源码
PHP教程:PHP开发网站代码编写规范
PHP教程:WebService最常用的两种方法
PHP通过SQL语句将数据写入MySQL数据库指定的表
PHP教程:修改discuz兼容自己开发的通行证
PHP教程:strlen与mb_strlen字符串长度函数
Apache的mod_rewrite模块拒绝盗链
windows 2003虚拟主机用httpd.ini控制盗链
PHP6的核心是对Unicode的内置支持
提高系统性能用eAccelerator优化PHP
10个开源的PHP网站内容管理系统
php中3des加密(完全与.net中的兼容)
PHP教程:时间函数
PHP教程:UCenter的MVC架构
PHP教程:PHP解析HTML字符串的问题
PHP教程:PHP截取HTML代码串问题
PhpSecInfo列出PHP环境设定中存在的安全问题
PHP教程:preg_replace_callback()函数
Google网站管理员工具的验证问题
解决PHP相对目录问题最有效的办法

FireFox插件FirePHP调试PHP


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-03-17   浏览: 383 ::
收藏到网摘: n/a

作者:Louis Simoneau
原文链接:http://www.sitepoint.com/blogs/2010/02/09/debug-php-firebug-firephp

译者:alswl


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

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

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

FirePHP Menu

当然,这时候我们还无法做任何事,你还需要安装FirePHP的服务端,点击这里下载。这是一个独立的版本,你可以手动下载或者使用PEAR。装后之后,你可是轻松的将这个库加入你的代码。它被设计了很多版本来整合入多个框架或者管理系统,比如 WP-FirePHP plugin for WordPressJFirePHP 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); 
$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控制台输出如下所示

FirePHP Console Output

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

1 function hello() { 
2   fb('Hello World!', FirePHP::TRACE); 
3
4 function greet() { 
5   hello(); 
6
7 greet(); 
function hello() { fb('Hello World!', FirePHP::TRACE);}function greet() { hello();}greet();

产生的输出如下

FirePHP Trace Output

这个跟踪功能可以完美的调试更复杂的代码,让你精确的知道你的方法是在哪里被调用的。

当然,别忘了你需要在你代码发布之前移除你的调试语句。

这里还有很多FirePHP的内容没有涉及到。我只是向你简单展示一下FirePHP的API,还有很多高级的面向对象API。你可以获得更多相关内容在 FirePHP site,要记得看它哦~

 

【免责声明:本文翻译仅为外语学习目的,原文作者个人观点与译者及译言网无关】