FirePHP是什么?
FirePHP是一个利用Firebug console栏输出调试信息方便程序调试。
这一切只需要调用几个简单的函数。

他看起来是怎么个样子?

<?php
FB::log('Log message');
FB::info('Info message');
FB::warn('Warn message');
FB::error('Error message');
?>


为什么要用它?
在开发环境下正常运行的程序放在生产环境出问题了!
我期望可以在生产环境中进行修改。但不期望客户看到这一切的发生。
请选择FirePHP。
常规的PHPUnit确实能帮助大家进行自动化测试。但我期望更为直观的结果显示。
让我知道程序内发生了什么。看到结果按约输出心里才放心。
请选择FirePHP。
常规var_export()显示在页面上,破坏了页面结构,影响了界面开发人员的工作。
请选择FirePHP。
更多好处等待您的发现。

开始我们的FirePHP之旅:

1、确认您安装了FireFox(对FF有持有偏见,抵制FF的可以走了)。
FireFox:http://www.mozillaonline.com/
2、确认您安装了Firebug。
Firebug:https://addons.mozilla.org/zh-CN/firefox/addon/1843
3、安装FirePHP插件。
FirePHP:https://addons.mozilla.org/zh-CN/firefox/addon/6149
4、安装FirePHP服务器端。
这里有两种安装方式一种通过pear安装,另一种直接下载代码包。
这里建议使用第二种方式。
方式一 通过pear安装:
pear安装方式请参见 Netbeans新增PHPUnit支持 试用手记 http://bbs.phpchina.com/thread-104215-1-1.html
以下为FirePHP安装所需命令:

pear channel-discover pear.firephp.org
pear install firephp/FirePHPCore

方式二 直接下载代码包:
下载地址: http://www.firephp.org/DownloadR ... y-FirePHPCore-0.2.1
5、服务端使用方式。
a、引入代码

require_once('FirePHPCore/fb.php'); // 建议引入此文件即可。文件目录自行安排。使用pear方式安装也是这样引入。

b、开启客户端
开启Firebug 控制台、脚本、网络。
将当前网站添加入FirePHP允许站点(十分容易自己熟悉一下就知道了)。
c、常规使用

<?php
include_once('FirePHP/fb.php');
FB::log('Hello World !'); // 常规记录
FB::group('Test Group A'); // 记录分组
// 以下为按照不同类别或者类型进行信息记录
FB::log('Plain Message');
FB::info('Info Message');
FB::warn('Warn Message');
FB::error('Error Message');

FB::log('Message','Optional Label');
FB::groupEnd();
FB::group('Test Group B');
FB::log('Hello World B');
FB::log('Plain Message');
FB::info('Info Message');
FB::warn('Warn Message');
FB::error('Error Message');

FB::log('Message','Optional Label');
FB::groupEnd();

// 将信息作为table输出
$table[] = array('Col 1 Heading','Col 2 Heading','Col 2 Heading');
$table[] = array('Row 1 Col 1','Row 1 Col 2','Row 1 Col 2');
$table[] = array('Row 2 Col 1','Row 2 Col 2');
$table[] = array('Row 3 Col 1','Row 3 Col 2');

FB::table('Table Label', $table);

// 在异常处理中使用FirePHP
class MyException extends Exception{
    public function  __construct($message, $code) {
        parent::__construct($message, $code);
    }
    public function log(){
        FB::log($this->getMessage());
    }
}

try{
    echo 'MoXie';
    throw new MyException('some description',1);
}catch(MyException $e){
    $e->log();
}

?>

参考资料:http://www.firephp.org/HQ/Use.htm