|
如果你和我一樣,你會(huì)在開(kāi)發(fā)網(wǎng)頁(yè)項(xiàng)目時(shí)候完全無(wú)法離開(kāi)FireBug。這個(gè)小巧的"臭蟲(chóng)"是一個(gè)神奇而有用的HTML/CSS/JavaScript/Ajax調(diào)試器。但是你也許不知道這個(gè)還可以用來(lái)調(diào)試php,沒(méi)錯(cuò),它可以,感謝一款名為Firephp的FireFox插件。
通過(guò)一個(gè)小小的服務(wù)端庫(kù),和這款在Firebug上的插件,你的php腳本能夠發(fā)送調(diào)試信息到瀏覽器,輕易的通過(guò)HTTP相應(yīng)頭編碼。一旦你設(shè)置,你可以在Fiirebug的控制臺(tái)獲得php腳本警告和錯(cuò)誤,就感覺(jué)像直接調(diào)試JavaScript一樣
使用這個(gè)工具,首先你需要安裝Firephp插件。這個(gè)插件需要你已經(jīng)安裝FireBug。裝好Firephp之后,重新打開(kāi)Firebug面板時(shí)候,你會(huì)看到新加了一個(gè)藍(lán)色的臭蟲(chóng)圖標(biāo)。點(diǎn)擊這個(gè)圖標(biāo)會(huì)出現(xiàn)一個(gè)開(kāi)啟或者關(guān)閉Firephp的菜單。
當(dāng)然,這時(shí)候我們還無(wú)法做任何事,你還需要安裝Firephp的服務(wù)端。這是一個(gè)獨(dú)立的版本,你可以手動(dòng)下載或者使用PEAR。裝后之后,你可是輕松的將這個(gè)庫(kù)加入你的代碼。它被設(shè)計(jì)了很多版本來(lái)整合入多個(gè)框架或者管理系統(tǒng),比如 WP-Firephp plugin for WordPress 和 JFirephp plugin for Joomla。暫時(shí)不管這些,我們將把精力集中在獨(dú)立的功能上。
一旦你在你服務(wù)器上部署了Firephp庫(kù),你還需要在你的代碼中加入以下的代碼:require_once('FirephpCore/fb.php');
這是因?yàn)镕irephp通過(guò)HTTP頭發(fā)送記錄的數(shù)據(jù),你需要緩存你的代碼產(chǎn)生的輸出,從而來(lái)響應(yīng)頭信息從這里獲取代碼生成的內(nèi)容。這個(gè)可以通過(guò)在代碼頭部的ob_start
來(lái)實(shí)現(xiàn)。ob_start();
當(dāng)這些步驟完成后,你可以開(kāi)始使用Firephp了。你需要做的只是調(diào)用fb
函數(shù)在任何你想要記錄的地方。同時(shí)你也可以使用一個(gè)可選的標(biāo)簽和常量去定義預(yù)定義信息,一個(gè)錯(cuò)誤,一個(gè)警告,或者一條信息。
復(fù)制代碼 代碼如下:
$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控制臺(tái)輸出如下所示
你也可以使用Firephp來(lái)跟蹤你程序的執(zhí)行情況:通過(guò)使用Firephp::TRACE常量,你可以在
fb被調(diào)用的地方查看
行數(shù)、類名和方法名
復(fù)制代碼 代碼如下:
function hello() {
fb('Hello World!', Firephp::TRACE);
}
function greet() {
hello();
}
greet();
產(chǎn)生的輸出如下
這個(gè)跟蹤功能可以完美的調(diào)試更復(fù)雜的代碼,讓你精確的知道你的方法是在哪里被調(diào)用的。
當(dāng)然,別忘了你需要在你代碼發(fā)布之前移除你的調(diào)試語(yǔ)句。
這里還有很多Firephp的內(nèi)容沒(méi)有涉及到。我只是向你簡(jiǎn)單展示一下Firephp的API,還有很多高級(jí)的面向?qū)ο驛PI。
php技術(shù):如何使用FireFox插件FirePHP調(diào)試PHP,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。