- var_dump: documentation ( source)
<?php
class A
{
private $a_private = 1;
protected $a_protected = 2;
public $a_public = 3;
}
class C extends A
{
private $c_private = 1;
protected $c_protected = 2;
public $c_public = 3;
}
class B extends A
{
private $b_private = 1;
protected $b_protected = 2;
public $b_public = 3;
protected $sub;
function __construct(){
$this->sub = new C();
}
function __debugInfo(){
return ['foo'=>'bar'];
}
}
function object_dump($object){
return (function($object){
return (array)$object;
})->bindTo($object, get_class($object))($object);
}
var_dump(object_dump(new B));