发布于 2014-11-03 08:35:26 | 2259 次阅读 | 评论: 0 | 来源: 网友投递
FirePHP PHP调试插件
Fire PHP 是Firefox 的扩充套件,但它可以帮你debug 后端PHP 的程式,听起来很神奇是吧?其实用的技术跟某些IDE 一样,要求你在写程式时加入一些追踪用的代码。通过使用Firephp你可以在Firebug的Console栏中看到要调试的数据,而不影响php程序 的正常执行,所以说,这东西对于Ajax开发是很有帮助的!
本文为大家讲解的是FirePHP安装使用,Fire PHP 是Firefox 的扩充套件,但它可以帮你debug 后端PHP 的程式 感兴趣的同学参考下。
FirePHP是什么?
FirePHP是一个利用Firebug console栏输出调试信息方便程序调试。
Fire PHP 是Firefox 的扩充套件,但它可以帮你debug 后端PHP 的程式,听起来很神奇是吧?其实用的技术跟某些IDE 一样,要求你在写程式时加入一些追踪用的代码。通过使用Firephp你可以在Firebug的Console栏中看到要调试的数据,而不影响php程序 的正常执行,所以说,这东西对于Ajax开发是很有帮助的!
他看起来是怎么个样子?
<?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安装:
以下为FirePHP安装所需命令。
方式二 直接下载代码包:
下载地址: http://www.firephp.org/DownloadR ... y-FirePHPCore-0.2.1
5、服务端使用方式。
a、引入代码
b、开启客户端
开启Firebug 控制台、脚本、网络。
将当前网站添加入FirePHP允许站点(十分容易自己熟悉一下就知道了)。
b、常规使用
<?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();
}
?>