如何在不停止 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 并在不停止的情况下注销 [重复]