3v4l.org

run code in 300+ PHP versions simultaneously
<?php set_error_handler(function (int $errno, string $msg) { require __DIR__.'/b.php'; echo 'error handler called: ', $msg; }); $code = '<?php class _ {};'; $tokens = token_get_all($code, \TOKEN_PARSE); echo "\n\n"; foreach ($tokens as $token) { if (is_string($token)) { echo $token, "\n"; } else { echo token_name($token[0]) . ' "' . $token[1], "\"\n"; } }
Output for 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
T_OPEN_TAG "<?php " T_CLASS "class" T_WHITESPACE " " T_STRING "_" T_WHITESPACE " " { } ;

preferences:
54.69 ms | 842 KiB | 4 Q