FirePHP 是 Firebug 的擴展插件,配合服務端庫 FirePHPCore,讓 PHP 腳本通過 HTTP 響應頭將調試信息發送到瀏覽器,直接在 Firebug 控制台顯示,不干擾頁面輸出。
lib/FirePHPCore/fb.php 和 FirePHP.class.php(PHP 5+)。<?php
require_once 'path/to/FirePHPCore/fb.php';
// 簡單記錄變量
$arr = [1, 2, 'hello world', [1]];
fb($arr); // 輸出到 Console
fb($arr, '標籤標識'); // 帶標籤輸出
// 不同級別
fb('普通日誌', 'Log', FirePHP::LOG);
fb('資訊', 'Info', FirePHP::INFO);
fb('警告', 'Warn', FirePHP::WARN);
fb('錯誤', 'Error', FirePHP::ERROR);
fb('異常', 'Exception', FirePHP::EXCEPTION);
fb(['table' => true, 'data' => $data], 'Table', FirePHP::TABLE);
User-Agent 中的 FirePHP/版本 或 X-FirePHP-Version 頭判斷客戶端是否啟用 FirePHP。X-Wf-1-1-1-1、X-Wf-1-Structure-1 等(Wildfire 協議)。X-Wf-1-1-1-1: 142|[{"Type":"LOG","File":".../test.php","Line":"8"},["1","2","hello world",["1"]]]|
X-Wf-1-1-1-2: 158|[{"Type":"LOG","Label":"標籤","File":".../test.php","Line":"9"},["1","2","hello world",["1"]]]|
X-Wf-1-Index: 2
X-Wf-1-Plugin-1: https://meta.firephp.org/Wildfire/Plugin/FirePHP/Library-FirePHPCore/0.3
X-Wf-1-Structure-1: https://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1
X-Wf-Protocol-1: https://meta.wildfirehq.org/Protocol/JsonStream/0.2
$firephp = FirePHP::getInstance(true);
$firephp->setEnabled(true); // 強制啟用
$firephp->setMaxObjectDepth(5); // 物件最大遞歸深度
$firephp->setMaxArrayDepth(10); // 陣列最大深度
$firephp->setMaxDepth(15); // 綜合最大深度
$firephp->setIncludeLineNumbers(true); // 顯示行號
fb::group('用戶登錄流程');
fb($userData, '用戶數據');
fb::groupEnd();
fb($gridData, '用戶列表', FirePHP::TABLE);
Firebug/FirePHP 已停止維護,現代開發建議使用:
var_dump() + error_log() + xdebug 遠程調試(IDE 斷點、變量檢查、堆疊追蹤)。