news 2026/5/27 21:48:56

用 LaraDumps 高效调试 PHP 和 Laravel

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用 LaraDumps 高效调试 PHP 和 Laravel

引言

如果你开发 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 流程时特别有用。

5. 查询和日志监控

LaraDumps 可以自动追踪数据库查询并捕获 Laravel 日志 —— 无需配置。

$games = Game::query()

->where('is_active', true)

->ds() // 在 get() 前链式调用

->get();

这会把查询和结果记录到桌面应用。

如果你用 Log facade:

\Log::info('This will appear in LaraDumps too!');

6. 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() 进行干净的调试了。

总结

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 21:16:30

5分钟掌握GitHub入门教程优化:从零基础到高效协作

5分钟掌握GitHub入门教程优化:从零基础到高效协作 【免费下载链接】introduction-to-github Get started using GitHub in less than an hour. 项目地址: https://gitcode.com/GitHub_Trending/in/introduction-to-github 想要快速掌握GitHub的使用技巧&…

作者头像 李华
网站建设 2026/5/26 23:56:09

快速上手:Color Thief智能配色方案实战指南

快速上手:Color Thief智能配色方案实战指南 【免费下载链接】color-thief Grab the color palette from an image using just Javascript. Works in the browser and in Node. 项目地址: https://gitcode.com/gh_mirrors/co/color-thief 面对品牌视觉统一和网…

作者头像 李华
网站建设 2026/5/27 4:49:44

A16z 谈 AI 留存的「水晶鞋效应」:第一个月,决定了一切 都是一次认真“试鞋”的机会:这一次,能不能真的解决我手里的问题?

A16z 谈 AI 留存的「水晶鞋效应」:第一个月,决定了一切 原创 Cubo Group 矩阵魔方AI出海 2025年12月12日 19:45 陕西 在传统 SaaS 时代,有一条几乎没人怀疑的共识:产品早期留存差,是正常现象。 MVP 功能不全&#…

作者头像 李华
网站建设 2026/5/27 7:53:26

5、深入了解 Ubuntu 网络配置与 X Window 系统

深入了解 Ubuntu 网络配置与 X Window 系统 1. Ubuntu 无线网络配置 在过去,为 Linux 系统配置无线网络是一件非常繁琐的事情,需要执行许多复杂的步骤才能连接到无线网络。不过,现在情况有了很大的改善。Ubuntu 系统中包含了一个名为 Network Manager 的实用工具,它让连接…

作者头像 李华
网站建设 2026/5/27 3:54:35

分享几则中年夫妻关系的有益建议

著名演员何晴去世了,很震惊,她是我最喜欢的女演员,曾经出演过四大名著。分享几则中年夫妻关系的有益建议: 1、可以容忍对方的生活习惯。包括拉S放P、不叠被、不洗衣,但要管好自己,还是尽量别过份坦荡。 2、…

作者头像 李华
网站建设 2026/5/26 14:21:39

(108页PPT)园区大数据治理解决方案(附下载方式)

篇幅所限,本文只提供部分资料内容,完整资料请看下面链接 (108页PPT)园区大数据治理解决方案.pptx_智慧园区总体规划PPT资源-CSDN下载 资料解读:《园区大数据治理解决方案》 详细资料请看本解读文章的最后内容。 在数…

作者头像 李华