3v4l.org

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

preferences:
25.3 ms | 402 KiB | 5 Q