【问题标题】:Does PHP has interface for print_r or var_dump?PHP 是否有 print_r 或 var_dump 的接口?
【发布时间】:2014-11-16 06:25:40
【问题描述】:

PHP 有很多内置的方便接口,可用于不同的功能。我想知道,有没有接口来处理print_rvar_dump 的输出?

如果没有,是否还有其他功能或/带有用于显示类中的结构化数据的接口(@98​​7654323@ 除外)?

【问题讨论】:

  • print_rvar_dump 都旨在揭示对象的原始 结构,因此没有用于覆盖的接口挂钩。最接近的可能是 JsonSerializable;但您仍然需要自定义的输出方法。
  • 您是否要求以结构化方式显示 print_r??
  • @WilliamFrancisGomes 是的。 @mario The closest is possibly JsonSerializable; but you'd still need a customized output method. 这似乎值得一试。谢谢!
  • 你会尝试添加html标签
    。就像 echo '
    '; print_r($array);回声'
    ';

标签: php oop interface


【解决方案1】:

php 5.6.0 添加了 __debugInfo() 方法。它不是接口,只是在任何对象上定义的方法。添加此方法设置var_dump的结果。

【讨论】:

    【解决方案2】:

    如果您使用 print_r,然后只需复制输出并将其粘贴到数组美化器(google it)中,它将产生一个很好的可读输出。到目前为止,它是在 php 中检查数组数据的最简单方法,无需大量工作。我一直在使用它:)

    祝你好运!

    【讨论】:

    • 使用调试器并设置断点更加容易和安全,因为您无需修改​​代码即可获得结果。
    • 假设我们说的好像调试器是不可能的,否则为什么还要问这个问题,但好点。
    • @Bart 我昨天用 MacGDBp.app 尝试了 XDebug,但是断点对我不起作用 :( 我的意思是,它们字面意思不起作用
    • @LukeLad 这不是一个真正的解决方案。
    • @Bart UPD:我实际上可以让 MacGDBp.app 使用断点。
    猜你喜欢
    • 2011-08-05
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 2015-03-15
    相关资源
    最近更新 更多