如何在不停止 laravel 程序的情况下使用 dd()

Posted

技术标签:

【中文标题】如何在不停止 laravel 程序的情况下使用 dd()【英文标题】:How to use dd() without stopping the program on laravel 【发布时间】:2021-09-18 01:39:24 【问题描述】:

我正在用 laravel 构建一个网站,我想调试我的程序,但是 dd() 很难使用,因为它会立即停止程序,我想让它在每次执行时逐行显示,知道吗?任何帮助将不胜感激,谢谢。

【问题讨论】:

您可以使用dump。函数dd 是“dump and die”的包装器 嗨,使用 XDEBUG 进行分析等等 如果你想要断点,那么 XDebug 就是你要走的路。 dd() 很有用,但本质上会停止执行,“dump and die”。您还可以使用Log::info() 语句在代码执行时记录内容。 【参考方案1】:

正如其他人所说:dd 表示 dump & die。所以它会转储结果并停​​止执行。

有一个更短的替代方案是dump,它不会终止执行。 也可以使用print_r

【讨论】:

【参考方案2】:

另一种在不输出到页面的情况下获得结果的方法(有时对生产有用)是将其记录到文件中。 Laravel 内置了 Monolog,所以使用

Log::info($data);

它会将结果写入项目文件夹中storage/logs 的文件中。

【讨论】:

此解决方案还有一个好处是会话的更改不会被逆转。如果您使用 dd(); 进行调试,就会发生这种情况【参考方案3】:

您可以使用评论中所述的dump,但是还有另一种记录方式,已经包装为 laravel 类here,如果您想调试,可以使用其中的一种变体Log::debug('An informational message.');

【讨论】:

以上是关于如何在不停止 laravel 程序的情况下使用 dd()的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用父 App.vue 的情况下在 Laravel 中实例化 vue 3 应用程序?

如何在不停止相机馈送的情况下使用闪光灯?

如何在不停止应用程序的情况下延迟功能

如何在 Ubuntu 上停止 Node.js 并在不停止的情况下注销 [重复]

如何在不关闭 GUI 窗口的情况下停止运行 PyQt5 程序?

如何在不停止运行应用程序的情况下垂直扩展谷歌云实例