3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace X; class TestClass { public function __construct() { } public function __invoke() { } public function foo() { } public static function bar() { } } //$r = new \ReflectionMethod('X\TestClass::foo'); //$r = new \ReflectionMethod('X\TestClass::__construct'); //$r = new \ReflectionMethod(new TestClass(), '__construct'); //$r = new \ReflectionMethod('X\TestClass::bar'); //var_dump($r->class, $r->name); //var_dump(is_callable(['X\TestClass', '__invoke'])); //var_dump(is_callable(['a' => 'X\TestClass', 'b' => 'bar'])); var_dump(method_exists(true, '__invoke'));
Output for git.master, git.master_jit
Fatal error: Uncaught TypeError: method_exists(): Argument #1 ($object_or_class) must be of type object|string, bool given in /in/J0m2q:33 Stack trace: #0 /in/J0m2q(33): method_exists(true, '__invoke') #1 {main} thrown in /in/J0m2q on line 33
Process exited with code 255.
Output for rfc.property-hooks
Fatal error: Uncaught TypeError: method_exists(): Argument #1 ($object_or_class) must be of type object|string, true given in /in/J0m2q:33 Stack trace: #0 /in/J0m2q(33): method_exists(true, '__invoke') #1 {main} thrown in /in/J0m2q on line 33
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:
28.46 ms | 401 KiB | 8 Q