PHP魔术方法__debugInfo()


执行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及更高版本。

上一篇 下一篇

评论

登录后可发表评论