3v4l.org

run code in 300+ PHP versions simultaneously
<?php class foo { protected $bar = 'A bar'; public function getBarDumper() { return function() { var_dump($this->bar); }; } public static function getFactory() { // la fonction anonyme suivante est statique // car elle est déclarée dans une méthode statique. return function() { return new static(); }; } } $factory = foo::getFactory(); $reflectedFactory = new \reflectionFunction($factory); var_dump('Factory', $reflectedFactory->getClosureScopeClass()); $bar = $factory()->getBarDumper(); $reflectedBar = new \reflectionFunction($bar); var_dump('Dumper', $reflectedBar->getClosureScopeClass());
Output for git.master, git.master_jit, rfc.property-hooks
string(7) "Factory" object(ReflectionClass)#3 (1) { ["name"]=> string(3) "foo" } string(6) "Dumper" object(ReflectionClass)#6 (1) { ["name"]=> string(3) "foo" }

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:
38 ms | 401 KiB | 8 Q