3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { private $bar = 'baz'; } class Test { public function getReader() { $reader = function & ($object, $property) { $value = & Closure::bind(function & () use ($property) { return $this->$property; }, $object, $object)->__invoke(); return $value; }; return $reader; } public function doStuff() { $reader = $this->getReader(); $foo = new Foo(); $bar = & $reader($foo, 'bar'); $bar = 'tabb'; return $foo; } } $test = new Test(); $foo = $test->doStuff(); var_dump($foo);
Output for git.master, git.master_jit, rfc.property-hooks
object(Foo)#3 (1) { ["bar":"Foo":private]=> string(4) "tabb" }

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
52.09 ms | 401 KiB | 8 Q