3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace ParserReflection\Stub; abstract class AbstractClassWithMethods { const TEST = 5; public function __construct(){} public function __destruct(){} public function explicitPublicFunc(){} function implicitPublicFunc(){} protected function protectedFunc(){} private function privateFunc(){} static function staticFunc(){} abstract function abstractFunc(); final function finalFunc(){} /** * @return string */ public function funcWithDocAndBody() { static $a =5, $test = '1234'; return 'hello'; } /** * @return \Generator */ public function generatorYieldFunc() { $index = 0; while ($index < 1e3) { yield $index; } } /** * @return int */ public function noGeneratorFunc() { $gen = function () { yield 10; }; return 10; } private function testParam($a, $b = null, $c = self::class, $d = self::TEST) {} } $refMethod = new \ReflectionMethod('ParserReflection\Stub\AbstractClassWithMethods', 'testParam'); echo "Exported: ", $refMethod;
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
Exported: Method [ <user> private method testParam ] { @@ /in/P9DXo 52 - 52 - Parameters [4] { Parameter #0 [ <required> $a ] Parameter #1 [ <optional> $b = NULL ] Parameter #2 [ <optional> $c = 'ParserReflection\\Stub\\AbstractClassWithMethods' ] Parameter #3 [ <optional> $d = self::TEST ] } }
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 Exported: Method [ <user> private method testParam ] { @@ /in/P9DXo 52 - 52 - Parameters [4] { Parameter #0 [ <required> $a ] Parameter #1 [ <optional> $b = NULL ] Parameter #2 [ <optional> $c = 'ParserReflection\\Stub\\AbstractClassWithMethods' ] Parameter #3 [ <optional> $d = self::TEST ] } }
Output for 5.6.17 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30
Exported: Method [ <user> private method testParam ] { @@ /in/P9DXo 52 - 52 - Parameters [4] { Parameter #0 [ <required> $a ] Parameter #1 [ <optional> $b = NULL ] Parameter #2 [ <optional> $c = 'ParserReflectio...' ] Parameter #3 [ <optional> $d = 5 ] } }
Output for 5.5.24 - 5.5.35, 5.6.8 - 5.6.16
Exported:
Process exited with code 139.

preferences:
209.22 ms | 402 KiB | 228 Q