天天看點

使用Firebug和FirePHP調試PHP

作者:Louis Simoneau

原文連結:http://www.sitepoint.com/blogs/2010/02/09/debug-php-firebug-firephp

譯者:alswl

使用Firebug和FirePHP調試PHP

如果你和我一樣,你會在開發網頁項目時候完全無法離開FireBug。這個小巧的"臭蟲"是一個神奇而有用的HTML/CSS/JavaScript/Ajax調試器。但是你也許不知道這個還可以用來調試PHP,沒錯,它可以,感謝一款名為FirePHP的FireFox插件。

通過一個小小的服務端庫,和這款在Firebug上的插件,你的PHP腳本能夠發送調試資訊到浏覽器,輕易的通過HTTP相應頭編碼。一旦你設定,你可以在Fiirebug的控制台獲得PHP腳本警告和錯誤,就感覺像直接調試JavaScript一樣

使用這個工具,首先你需要安裝FirePHP插件。這個插件需要你已經安裝FireBug。裝好FirePHP之後,重新打開Firebug面闆時候,你會看到新加了一個藍色的臭蟲圖示。點選這個圖示會出現一個開啟或者關閉FirePHP的菜單。

使用Firebug和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控制台輸出如下所示

使用Firebug和FirePHP調試PHP

你也可以使用FirePHP來跟蹤你程式的執行情況:通過使用

FirePHP::TRACE常量,你可以在

fb被調用的地方檢視

行數、類名和方法名

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

産生的輸出如下

使用Firebug和FirePHP調試PHP

這個跟蹤功能可以完美的調試更複雜的代碼,讓你精确的知道你的方法是在哪裡被調用的。

當然,别忘了你需要在你代碼釋出之前移除你的調試語句。

這裡還有很多FirePHP的内容沒有涉及到。我隻是向你簡單展示一下FirePHP的API,還有很多進階的面向對象API。你可以獲得更多相關内容在 FirePHP site,要記得看它哦~