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) { $ref = new ReflectionClass($this); return $ref->getConstructor()->invoke($this,$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(), 1 passed and exactly 2 expected in /in/qXB5d:5 Stack trace: #0 [internal function]: Foo->__construct(Array) #1 /in/qXB5d(25): ReflectionMethod->invoke(Object(Foo), Array) #2 /in/qXB5d(26): Foo->{closure}() #3 {main} thrown in /in/qXB5d 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:
40.75 ms | 401 KiB | 8 Q