php - xdebug 错误消息中参数的自定义格式

标签 php debugging serialization formatting xdebug

我知道使用 Xdebug,您可以更改 xdebug.collect_params 设置,以便错误消息包含有关调用中使用的参数的更多信息。 (对此有一个很好的解释 here )

但是,我的对象的字符串表示非常大且不可读。

large and unreadable object representations

我已经有了一些很好的 toString 实现,它们只返回一个唯一的 id,所以如果我能让 xdebug 使用 __toString() 而不是完整的序列化,那就太好了。

这(或参数格式的任何其他自定义)可能吗?

我想理论上我可以尝试通过 __sleep() 实现自定义表示,但实际上我需要默认的序列化机制来跨请求保存对象。

最佳答案

有些工具可以提供直观且交互式的方式来显示异常和堆栈跟踪。因此,您可以获得所有必要的详细信息,并且仍然拥有整洁的用户界面。考虑以下因素:

调试时,您通常需要尽可能多的(有用)信息,因此不要删除(目前)不必要的信息,而是尝试使用默认情况下隐藏信息的库,但确保在您需要时它就在那里。


* Symfony 异常处理程序似乎能够独立工作(从composer.json 来看,Symfony 没有其他依赖项,尽管我还没有尝试过)。文档说:

The ExceptionHandler class catches uncaught PHP exceptions and converts them to a nice PHP response. It is useful in debug mode to replace the default PHP/XDebug output with something prettier and more useful.

关于php - xdebug 错误消息中参数的自定义格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28634068/

相关文章:

visual-studio - 有什么方法可以检查 Visual Studio 中当前正在执行的代码吗?

php onclick 使用

php - 文件上传+MySql不行

php - WordPress 插件 : Hook on custom url

perl - 这些来自 Tk::After 的 Perl/Tk 错误是什么意思?

vb.net - Debug.WriteLine 不工作

c# - 如何在 Silverlight 中序列化派生类

python - DRF 序列化器通过 REST API 与第三方应用程序进行操作

java - 实现可序列化的类

php - 将验证从 Controller 传递回 ajax 函数