- var_dump: documentation ( source)
<?php
class A
{
public $b;
public function __construct($b)
{
$this->b = $b;
}
public function methodA()
{
return $this->b;
}
}
class ProxyA extends A
{
private $proxied;
public function methodA()
{
return $this->proxied->methodA();
}
public function methodB()
{
return true;
}
public static function makeProxy(A $instance)
{
$rc = new \ReflectionClass(get_class($instance));
$proxy = $rc->newInstanceWithoutConstructor();
$proxy->proxied = $instance;
return $proxy;
}
}
var_dump(ProxyA::makeProxy(new A(1234))->methodB());