如果你開發 Laravel 應用有一段時間了,肯定用過無數次 dd()、dump() 或 var_dump()。它們確實能用,但也有代價:
- 會中斷應用流程
- 在瀏覽器裏輸出很亂
- 刷新頁面就沒了
- 沒法優雅地查看複雜數據
如果 PHP 調試能像用專業工具那樣順手,而不是在瀏覽器控制枱裏瞎摸索,會怎樣?
這就是 LaraDumps —— 一個免費開源的桌面調試應用,能把你的 PHP 和 Laravel 調試體驗提升一個檔次。
原文 用 LaraDumps 高效調試 PHP 和 Laravel
為什麼用 LaraDumps?
跟傳統調試方法不同,LaraDumps 不會把調試信息打印到瀏覽器。它會把所有東西發送到一個乾淨、有序的實時桌面界面。
主要優勢:
- 應用不會中斷 —— 頁面正常跑
- 持久化歷史 —— 刷新後數據還在
- 多條輸出 —— 同時查看不同位置的數據
- 實時監控 SQL 和日誌
- 不限於 Laravel,任何 PHP 項目都能用
-
變量、數組、對象格式化得很漂亮
核心功能
無中斷實時調試public function index() { $games = Game::orderBy('match_date', 'asc')->get(); ds($games); return view('games.index', compact('games')); }用 ds($games) 代替 dd($games),結果會直接出現在 LaraDumps 桌面應用裏,不會中斷請求,也不會在瀏覽器裏輸出亂七八糟的東西。
持久化歷史
刷新頁面後 dd() 的輸出就沒了,遇到過吧?
LaraDumps 解決了這個問題。你的調試輸出會一直保留,即使多次請求後也能回看之前的數據。
獨立桌面應用
所有調試信息都進入一個獨立的、優雅的應用,具備:
- 多屏支持
- 明暗主題(基於 daisyUI)
- 可搜索的表格視圖(用於數組和對象)
- 標籤頁分離不同的輸出
Laravel 專屬工具
LaraDumps 不限框架,但為 Laravel 開發者提供了額外功能:
路由列表
ds()->routes();
這會把整個 Laravel 路由列表輸出到應用裏 —— 在大項目中超級有用。
模型檢查器
use App\Models\Game;
$game = Game::first();
ds()->model($game);
這會給你一個結構化的視圖,展示模型屬性、關聯、類型轉換等。比手動打印數組強太多。
Blade 指令
有時你只是想在 Blade 視圖裏做個標記:
`
@ds('Rendering Games Table Blade')`
在調試複雜 UI 流程時特別有用。
https://www.disktool.cn/bbs/home.php?mod=space&uid=20792&do=b...
-
查詢和日誌監控
LaraDumps 可以自動追蹤數據庫查詢並捕獲 Laravel 日誌 —— 無需配置。$games = Game::query() ->where('is_active', true) ->ds() // 在 get() 前鏈式調用 ->get();這會把查詢和結果記錄到桌面應用。
如果你用 Log facade:
\Log::info('This will appear in LaraDumps too!');
- Xdebug 集成
如果你喜歡單步調試,LaraDumps 集成了 Xdebug。你可以設斷點、單步執行,同時還能用它漂亮的變量檢查器。
實際調試案例
看幾個實際場景,展示 LaraDumps 如何讓你的生活更輕鬆。
調試支付流程
假設你在做多步驟結賬流程。在控制器裏用 dd() 會中斷重定向流程。用 LaraDumps:
public function checkout(Request $request)
{
ds('Checkout started', $request->all());
$payment = $this->paymentService->create($request->user(), $request->amount);
ds($payment)->label('Payment Created');
return redirect()->route('payment.redirect', ['id' => $payment->id]);
}
你可以追蹤整個流程而不中斷執行,在多個位置查看數據。
調試後台任務
class SendWelcomeEmail implements ShouldQueue
{
public function handle()
{
ds('Job started');
// ...發送郵件邏輯
ds('Job finished');
}
}
LaraDumps 的任務監控器會實時顯示任務執行信息 —— 對隊列密集型應用特別合適。
JSON 驗證和字符串搜索
桌面應用裏有個 JSON 驗證工具,可以驗證和美化 JSON 字符串。還有內置的字符串搜索功能,能快速在大量輸出中找到值。
安裝
設置 LaraDumps 很簡單:
composer require laradumps/laradumps --dev
然後從官方文檔下載並運行適合你操作系統的桌面應用。
就這樣 —— 你可以開始用 ds() 進行乾淨的調試了。
總結
LaraDumps 是那種一旦用上就回不去的工具。它讓 PHP 調試更現代化、更乾淨、更快速、也更愉快。
無論你是在做小型 Laravel 應用還是大型企業系統,把 LaraDumps 加入工具箱都能節省你好幾個小時的抓狂時間。