- var_dump: documentation ( source)
<?php
class Foo
{
public $bar = 'baz';
}
class FooProxy extends Foo
{
private $wrapped;
public function __construct(Foo $foo)
{
$this->wrapped = $foo;
unset($this->bar);
}
public function & __get($name)
{
var_dump(__METHOD__);
return $this->wrapped->$name;
}
public function __set($name, $value)
{
var_dump(__METHOD__);
$this->wrapped->$name = $value;
}
public function __isset($name)
{
var_dump(__METHOD__);
return isset($this->wrapped->$name);
}
public function __unset($name)
{
var_dump(__METHOD__);
unset($this->wrapped->$name);
}
}
$foo = new FooProxy(new Foo());
$foo->bar;
$foo->bar = 'baz';
isset($foo->bar);
unset($foo->bar);