php調試利器:FirePHP的安裝與使用

做開發的人都知道,我們可以利用瀏覽器的控制檯來調試JavaScript腳本,但是對於像php這種服務端的腳本,你知道如何調試嗎?今天給大家推薦一個php調試利器,FirePHP!

Chrome瀏覽器爲例,具體實施步驟如下:

1. 安裝FirePHP插件

Chrome瀏覽器的應用商店中,搜索firephp關鍵詞,在出來的插件列表中,選擇第一個,將它添加到Chrome即可。如圖:

2. 獲取FirePHP類庫

僅僅安裝好FirePHP瀏覽器端的插件是不夠的,我們還需要安裝它的服務端,FirePHP類庫下載地址:http://www.firephp.org/,如圖:

下載完成後,將壓縮包中的fb.php和FirePHP.class.php兩個文件,拷貝到我們的項目中,如圖:

由於我的開發環境是ThinkPHP,所以我將它拷貝到了Library的Vendor目錄下,如圖:

3. 如何使用

FirePHP的插件和類庫都已經安裝好了,下面我們來看下如何使用它。

首先,我寫了一個FirePHP的工具類,內容如下:

<?php
namespace Common\Lib\Util;
if (!class_exists('FB')) {
	vendor('FirePHP.fb');
}

class FireBug {
	/**
	 * 將php調試信息打印到控制檯
	 * @param mixes $object : 待輸出的數據,類型可以是字符串、數組或者對象
	 * @param string $label : 標題
	 * @param boolean $showTrace : 是否顯示調用跟蹤信息
	 */	
	public static function console($object, $label=null, $showTrace=false){
		
		//開發與生產模式的開關標識,我們只在開發模式下調試腳本
		if (!DEBUG_PHP) {
			return;
		}
		try {
			$label = $label ? $label : time();
			\FB::log($object,$label);
			if (is_array($object) || is_object($object)) {
				$headers = array_keys(reset($object));
				if (is_array($headers)) {
					array_unshift($object,$headers);
					\FB::table($label,$object);
				}else{
					\FB::table($label,array(array_keys($object),$object));
				}
			}else if(is_object($object)){
				\FB::table($label,$object);
			}
			if ($showTrace) {
				\FB::trace($label);
			}
		} catch (Exception $e) {
			echo '請開啓輸出緩衝函數ob_start()';
		}
	}
}

?>

然後,在需要調試的地方,調用它,如下:

打開Chrome瀏覽器的控制檯,我們將會看到如下輸出:

是不是非常方便,通過FirePHP,我們就不需要把調試信息用echo,print_r或者日誌的形式輸出了,這樣,無形中,也加快了我們的開發進程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章