【发布时间】:2015-02-20 16:48:59
【问题描述】:
我知道使用 Xdebug 您可以更改 xdebug.collect_params 设置,以便错误消息包含有关调用中使用的参数的更多信息。 (有一个很好的解释here)
但是,我的对象的字符串表示非常大且不可读。
我已经有一些好的 toString 实现,它只返回一个唯一的 id,所以如果我可以让 xdebug 使用 __toString() 而不是完整的序列化,那就太好了。
这(或任何其他自定义参数格式)是否可能?
我想理论上我可以尝试通过__sleep() 实现自定义表示,但我实际上需要默认的序列化机制来跨请求保存对象。
【问题讨论】:
-
旁注:在 php 5.6 中添加了
__debugInfo方法。我真的不知道,但如果 xdebug 使用var_dump()那么你可以将你的__toString()逻辑移动到__debugInfo()。 -
是的,看来这正是解决方案。在最新版本的 xdebug 中实现了对 __debugInfo 的支持。现在我只需要等待 PHP 5.6 的 WAMP 更新;)相关:stackoverflow.com/questions/26835450/…
标签: php debugging serialization formatting xdebug