- var_dump: documentation ( source)
- get_object_vars: documentation ( source)
<?php
class Test {
private $a='data';
protected $b=123;
public $c=true;
}
/**
* @author Lisachenko Alexander <lisachenko.it@gmail.com>
*/
class Hydrator
{
private function getContext()
{
return get_object_vars($this);
}
public function __invoke($object)
{
static $hydrator = null;
if (!$hydrator) {
$hydrator = (new ReflectionMethod(__CLASS__, 'getContext'))->getClosure($this);
}
return $hydrator->bindTo($object, get_class($object))->__invoke($object);
}
}
$test = new Test;
$hydrator = new Hydrator();
$data = $hydrator($test);
var_dump($data);