3v4l.org

run code in 500+ PHP versions simultaneously
<?php class A {} class B {} class C {} class Test { public function __construct( public A $foo, public B $bar, public ?C $baz = null ) { $this->baz = $baz ?? new C; } } $test = new Test(new A, new B); var_dump($test);
Output for 8.0.0 - 8.0.3, 8.1.23 - 8.1.34, 8.2.10 - 8.2.30, 8.3.0 - 8.3.4, 8.3.6 - 8.3.30, 8.4.1 - 8.4.21, 8.5.0 - 8.5.7
object(Test)#1 (3) { ["foo"]=> object(A)#2 (0) { } ["bar"]=> object(B)#3 (0) { } ["baz"]=> object(C)#4 (0) { } }
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 object(Test)#1 (3) { ["foo"]=> object(A)#2 (0) { } ["bar"]=> object(B)#3 (0) { } ["baz"]=> object(C)#4 (0) { } }
Output for 7.3.0 - 7.3.27, 7.4.0 - 7.4.16
Parse error: syntax error, unexpected 'public' (T_PUBLIC), expecting variable (T_VARIABLE) in /in/9DIqq on line 9
Process exited with code 255.

preferences:
71.79 ms | 1081 KiB | 4 Q