FirePHP:像Firebug那樣調(diào)試你的PHP代碼
原創(chuàng)【51CTO譯文】如果你經(jīng)常使用Firebug調(diào)試HTML、CSS、JavaScript和Ajax代碼,一定會(huì)對Firebug愛不釋手,它方便快速且直觀。但你是否想過用Firebug調(diào)試PHP程序?Firefox還有一個(gè)擴(kuò)展叫FirePHP,一個(gè)可以像Firebug一樣方便的調(diào)試PHP程序。
這個(gè)在Firebug之上運(yùn)行的擴(kuò)展,結(jié)合一個(gè)服務(wù)器端的庫,就可以讓你的PHP代碼向?yàn)g覽器發(fā)送調(diào)試信息,該信息以HTTP響應(yīng)頭(HTTP headers)的方式編碼。經(jīng)過設(shè)置,你可以像在Firebug控制臺(tái)調(diào)試JavaScript代碼一樣得到PHP腳本的警告和錯(cuò)誤提示。下面我們來看看具體步驟。
首先,我們需要從Mozilla的Firefox擴(kuò)展組件頁面下載FirePHP插件;在此之前,要確保我們已經(jīng)安裝了Firebug。完成FirePHP插件的安裝后,再次打開Firebug面板,我們可以看到除Firebug按鈕之外,還有一個(gè)藍(lán)色的按鈕,那就是我們的FirePHP了。點(diǎn)擊這個(gè)按鈕,會(huì)出現(xiàn)一個(gè)菜單,提示您啟用或禁用FirePHP。如圖:
FirePHP的Firebug控制臺(tái)界面
這樣我們基本完成了FirePHP的安裝,但我們還需要一個(gè)FirePHP的服務(wù)器端的庫,點(diǎn)擊這里下載。這是一個(gè)使用PEAR的版本,可以手動(dòng)下載安裝。
之后,我們需要將這個(gè)庫include到我們的代碼中。FirePHP還有一些版本是針對框架和CMS設(shè)計(jì)的,比如WP-FirePHP是為WordPress定制的,JFirePHP是專為Joomla定制的。為了足夠通用,這篇文章里我們將把重點(diǎn)放在一些通用的功能上。
當(dāng)我們的服務(wù)器上有了FirePHP library,我們需要使用下面一條簡單的語句將它包含進(jìn)來。
- require_once('FirePHPCore/fb.php');
因?yàn)镕irePHP使用HTTP headers的形式發(fā)送數(shù)據(jù),我們需要緩沖一下腳本的輸出,這樣可以確保響應(yīng)請求可以包含生成的腳本。在PHP中,通過在代碼頂部調(diào)用ob_start方法來實(shí)現(xiàn)。
- ob_start();
完成了上面的步驟,我們就可以開始使用FirePHP。所要做的只剩下調(diào)用fb函數(shù),無論是一個(gè)單獨(dú)的標(biāo)記還是一個(gè)定義的常量,都會(huì)生成一個(gè)標(biāo)準(zhǔn)的記錄,無論是警告、錯(cuò)誤還是其他信息。如下圖:
這段代碼將會(huì)在Firebug控制臺(tái)產(chǎn)生如下輸出:
我們還可以使用FirePHP來跟蹤程序的執(zhí)行過程:通過FirePHP::TRACE常量,你可以看到行號(hào)、類名、函數(shù)名等。示例代碼如下:
將會(huì)產(chǎn)生如下輸出;
使用這個(gè)跟蹤功能,可以愉快的調(diào)試代碼,因?yàn)樗屇阒勒嬲膯栴}出現(xiàn)在那里。當(dāng)然,我們還需要記住在代碼交付之前刪除這些FirePHP調(diào)試語句。
FirePHP所能做的要比上面介紹的多得多,51CTO.com在這里只是簡單的展示FirePHP的一般功能。FirePHP還有一些附件功能和面向?qū)ο蟮腁PI值得我們?nèi)グl(fā)現(xiàn)和探索。更多介紹可以通過FirePHP官網(wǎng)來了解。
原文:Debug PHP with Firebug and FirePHP
鏈接:http://www.sitepoint.com/blogs/2010/02/09/debug-php-firebug-firephp/
【編輯推薦】