执行var_dump()方法的时候会调用__debugInfo()方法
如果__debugInfo()没有定义,则var_dump()方法会输出对象中的所有属性。
示例代码如下:
<?php class C { private $prop; public function __construct($val) { $this->prop = $val; } /** * @return array */ public function __debugInfo() { return [ 'propSquared' => $this->prop ** 2, ]; } } var_dump(new C(42));
输出结果如下:
object(C)#1 (1) { ["propSquared"]=> int(1764) }
注意:__debugInfo()方法只能用于PHP 5.6.0及更高版本。
登录后可发表评论