3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo{ private $bar = 'baz'; public function setBar($bar) { $this->bar = $bar; } } $hydrator = Closure::bind( function ($obj) { return get_object_vars($obj); }, null, // required blueprint! 'Foo' // setting correct class scope (in case of inheritances) ); var_dump($hydrator(new Foo())); $foo2 = new Foo(); $foo2->setBar('TAB!'); var_dump($hydrator($foo2));

preferences:
41.31 ms | 402 KiB | 5 Q