3v4l.org

run code in 300+ PHP versions simultaneously
<?php spl_autoload_register(function ($class) { if ('foo' === $class) { class foo implements foointerface {} } elseif ('foointerface' === $class) { throw new \Exception('boo'); } }); try { class_exists('foo'); } catch (\Exception $e) { var_dump($e->getMessage()); } $a = new foo(); var_dump($a); var_dump($a instanceof foointerface);
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
string(3) "boo" Fatal error: Uncaught Exception: boo in /in/1pHqv:7 Stack trace: #0 /in/1pHqv(5): {closure}('foointerface') #1 /in/1pHqv(17): {closure}('foo') #2 {main} thrown in /in/1pHqv on line 7
Process exited with code 255.
Output for 7.4.0 - 7.4.33
string(3) "boo" Fatal error: Uncaught Exception: boo in /in/1pHqv:7 Stack trace: #0 [internal function]: {closure}('foointerface') #1 /in/1pHqv(5): spl_autoload_call('foointerface') #2 [internal function]: {closure}('foo') #3 /in/1pHqv(17): spl_autoload_call('foo') #4 {main} thrown in /in/1pHqv on line 7
Process exited with code 255.
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.19, 7.2.21 - 7.2.34, 7.3.0 - 7.3.6, 7.3.8 - 7.3.33
string(3) "boo" object(foo)#3 (0) { } bool(false)
Output for 7.2.20, 7.3.7
Fatal error: During class fetch: Uncaught Exception: boo in /in/1pHqv:7 Stack trace: #0 [internal function]: {closure}('foointerface') #1 /in/1pHqv(5): spl_autoload_call('foointerface') #2 [internal function]: {closure}('foo') #3 [internal function]: spl_autoload_call('foo') #4 /in/1pHqv(12): class_exists('foo') #5 {main} in /in/1pHqv on line 5
Process exited with code 255.

preferences:
208.85 ms | 401 KiB | 292 Q