3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { private $foo; private $bar; private function __construct($foo, $bar){ $this->foo = $foo; $this->bar = $bar; } public function getFoo() { return $this->foo; } public function getBar() { return $this->bar; } } $args = array('eggs','bacon'); $class = 'Foo'; $reflClass = new \ReflectionClass($class); $instance = call_user_func(\Closure::bind(function () use ($args) { return call_user_func_array(new static,$args); }, $reflClass->newInstanceWithoutConstructor(), $class)); echo $instance->getFoo();
Output for git.master, git.master_jit, rfc.property-hooks
Fatal error: Uncaught ArgumentCountError: Too few arguments to function Foo::__construct(), 0 passed in /in/ScL9C on line 24 and exactly 2 expected in /in/ScL9C:5 Stack trace: #0 /in/ScL9C(24): Foo->__construct() #1 /in/ScL9C(25): Foo->{closure}() #2 {main} thrown in /in/ScL9C on line 5
Process exited with code 255.

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