phpマジックメソッド_debugInfo()

508 ワード

array __debugInfo ( void )
この方法はvar_dump()クラスオブジェクトの場合に呼び出され、メソッドが定義されていない場合var_dumpはすべてのクラス属性を印刷します
例:
class C {
    private $prop;

    public function __construct($val) {
        $this->prop = $val;
    }

    public function __debugInfo() {
        return [
            'propSquared' => $this->prop ** 2,
        ];
    }
} 
var_dump(new C(42));

結果:
object(C)#1 (1) {
  ["propSquared"]=>
  int(1764)
}