3v4l.org

run code in 300+ PHP versions simultaneously
<?php class x { static function a() { // display the current class echo __METHOD__; } static function b($method) { // display the current class with method a above call_user_func($method); $method(); } } (new x)->b(array('self', 'a')); ?>
Output for 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6 - 8.3.7
Deprecated: Use of "self" in callables is deprecated in /in/0eacu on line 11 x::a Fatal error: Uncaught Error: Class "self" not found in /in/0eacu:12 Stack trace: #0 /in/0eacu(16): x::b(Array) #1 {main} thrown in /in/0eacu on line 12
Process exited with code 255.
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 Deprecated: Use of "self" in callables is deprecated in /in/0eacu on line 11 x::a Fatal error: Uncaught Error: Class "self" not found in /in/0eacu:12 Stack trace: #0 /in/0eacu(16): x::b(Array) #1 {main} thrown in /in/0eacu on line 12
Process exited with code 255.
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28
x::a Fatal error: Uncaught Error: Class "self" not found in /in/0eacu:12 Stack trace: #0 /in/0eacu(16): x::b(Array) #1 {main} thrown in /in/0eacu on line 12
Process exited with code 255.
Output for 7.0.33, 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
x::a Fatal error: Uncaught Error: Class 'self' not found in /in/0eacu:12 Stack trace: #0 /in/0eacu(16): x::b(Array) #1 {main} thrown in /in/0eacu on line 12
Process exited with code 255.
Output for 5.6.38
x::a Fatal error: Class 'self' not found in /in/0eacu on line 12
Process exited with code 255.

preferences:
165.11 ms | 401 KiB | 186 Q