3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class ImplicitAbstractClass { private $a = 'foo'; protected $b = 'bar'; public $c = 'baz'; abstract function test(); } abstract class SimpleAbstractInheritance extends ImplicitAbstractClass { public $b = 'bar1'; public $d = 'foobar'; private $e = 'foobaz'; } // It's how PHP presents it $original = (new \ReflectionMethod(SimpleAbstractInheritance::class, 'test'))->__toString(); // And if use a parser and analyze methods from the SimpleAbstractInheritance class // then we collect methods from the parent directly like this $methods = (new \ReflectionClass(ImplicitAbstractClass::class))->getMethods(); $parsed = $methods[0]->__toString(); // Pay an attention to the "inherits ImplicitAbstractClass" section echo "Original: ", $original, PHP_EOL, "Parsed: ", $parsed;
Output for git.master, git.master_jit, rfc.property-hooks
Original: Method [ <user, inherits ImplicitAbstractClass> abstract public method test ] { @@ /in/HOSpR 8 - 8 } Parsed: Method [ <user> abstract public method test ] { @@ /in/HOSpR 8 - 8 }

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:
160.3 ms | 405 KiB | 5 Q