3v4l.org

run code in 300+ PHP versions simultaneously
<?php class render { /** @var array */ private static $extensions; public static function __callStatic($function, $args) { // check if method exists if ( method_exists( __CLASS__, $function )) { self::{$function}(self::$args); } elseif (isset(self::$extensions[$function])) { (self::$extensions[$function])($args); } } public static function title($args) { echo 'Calling title()', PHP_EOL; } public static function register(string $name, callable $callback) { self::$extensions[$name] = $callback; } } render::register('custom', function(...$args) { echo 'Calling custom function', PHP_EOL; var_dump($args); }); render::title(1, 2, 3, 4); render::custom(1, 2, 3, 4);
Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0 - 8.5.1
Calling title() Calling custom function array(1) { [0]=> array(4) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) } }
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.

preferences:
187.35 ms | 407 KiB | 5 Q