ThinkPHP 整合FIREPHP 呵呵
TP的調試真的很傻很難用,要想輸出trace資訊,條件如下:1. APP_DEBUG 以及SHOW_PAGE_TRACE設定成true,2. action 必須有視圖 才行在這裡發揮了自己的想象終於把 firephp 整合進來了,哈哈哈,方法如下:[就是替換 ThinkPHP/Lib/Think/Core/Log.class.php] 類把 FirePHP.class.php 複製到 ThinkPHP/Lib/Think/Core 目錄中,修改如下方法:[建議將原有檔案備份哦,此僅作測試使用]static function record($message,$level=self::ERR,$record=false) { if($record || in_array($level,C('LOG_RECORD_LEVEL'))) { $now = date(self::$format); self::$log[] = "{$now} {$level}: {$message}\r\n"; switch($level){ case self::DEBUG: FirePHP::getInstance(true)->trace($message, $level); break; case self::INFO: FirePHP::getInstance(true)->log($message, $level); break; case self::SQL: FirePHP::getInstance(true)->info($message, $level); break; case self::NOTICE: case self::WARN: FirePHP::getInstance(true)->warn($message, $level); break; default: FirePHP::getInstance(true)->error($message, $level); break; } } }對於 SQL的輸出,因為 ThinkPHP/Lib/Think/Db/Db.class.php 裡面第128行 對 調試參數寫死了,必須將其 與 C('APP_DEBUG') 綁定,很費解,此處修改為 加一個自訂的,不與原有的相衝突..代碼如下:if(C('APP_DEBUG') || C('LOG_RECORD_SQL'))在設定檔裡面做如下選項,即可:'LOG_RECORD'=>true, // 進行日誌記錄'LOG_RECORD_SQL'=>true, // 進行日誌記錄'LOG_RECORD_LEVEL' => array('EMERG','ALERT','CRIT','ERR','WARN','NOTIC','INFO','DEBUG','SQL'), // 允許記錄的記錄層級記錄層級可以自增減 呵呵?