脚本宝典收集整理的这篇文章主要介绍了php – 为我的类定制var_dump输出,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
class MyClass{ public $foo; public $bar; //pseudo-code public function __dump($foo,$bar) { return 'Foo:$foo,bar:$bar'; } } VAR_dump(array($instanceOfMyClass)); //IT should output this: array(1) { [0] => class MyClass#1 (2) { Foo:valueOfFoo,bar:valueOfBar } }
我知道我可以使用一些第三方的var_dump替代方案,但是我想在我的库项目中自定义var_dump的行为.
谢谢.
__debugInfo()
魔术功能自定义
var_dump()
的输出.
例:
class MyDateTime{ public $year,$month,$day,$hour,$minute,$second; public function __debuginfo() { return array( 'date' => $this->year . "-" . $this->month . "-" . $this->day,'time' => sPRintf("%02d:%02d:%02d",$this->hour,$this->minute,$this->second),); } } $dt = new MyDateTime(); $dt->year = 2014; $dt->month = 9; $dt->day = 20; $dt->hour = 16; $dt->minute = 2; $dt->second = 41; var_dump($dt);
object(MyDateTime)#1 (2) { ["date"]=> string(9) "2014-9-20" ["time"]=> string(8) "16:02:41" }
object(MyDateTime)#1 (6) { ["year"]=> int(2014) ["month"]=> int(9) ["day"]=> int(20) ["hour"]=> int(16) ["minute"]=> int(2) ["second"]=> int(41) }
笔记:
> __debugInfo()
必须返回一个数组. PHP 5.6.0中有一个错误返回一个字符串:
>它似乎与print_r()
一起工作,虽然这似乎没有记录在任何地方.
以上是脚本宝典为你收集整理的php – 为我的类定制var_dump输出全部内容,希望文章能够帮你解决php – 为我的类定制var_dump输出所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。