3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { private $foo =2; } class Hydrator { public function getPrivate($obj, $attribute) { $getter = function(){return $this->$attribute;}; return \Closure::bind($getter, $obj); } } $hydrated = new Hydrator(); $obj = new Foo(); $getter = $hydrated->getPrivate($obj, 'foo'); var_dump($getter());

preferences:
41.91 ms | 402 KiB | 5 Q