如何使用FireFox插件FirePHP调试PHP

2015-01-24信息快讯网

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

如果你和我一样,你会在开发网页项目时候完全无法离开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和Shell写Hadoop的MapReduce程序
PHP读取大文件的类SplFileObject使用介绍
PHP包含文件函数include、include_once、require、require_once区别总结
php警告Creating default object from empty value 问题的解决方法
php中stream(流)的用法
php的declare控制符和ticks教程(附示例)
PHP fopen()和 file_get_contents()应用与差异介绍
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
zf框架的Filter过滤器使用示例
PHP中is_file不能替代file_exists的理由
php中require和require_once的区别说明
FireFox浏览器使用Javascript上传大文件
PHP中include与require使用方法区别详解
php curl基本操作详解
PHP时间格式控制符对照表分享
请离开include_once和require_once
php的$_FILES的临时储存文件与回收机制实测过程
解析PHP中$_FILES的使用以及注意事项
如何在Ubuntu下启动Apache的Rewrite功能
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
Smarty foreach控制循环次数的实现详解
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
浅析php插件 HTMLPurifier HTML解析器
file_get_contents("php://input", "r")实例介绍
php setcookie(name, value, expires, path, domain, secure) 参数详解
解析file_get_contents模仿浏览器头(user_agent)获取数据
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
php include和require的区别深入解析
深入掌握include_once与require_once的区别
兼容firefox,chrome的网页灰度效果
©2014-2024 dbsqp.com