3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { public function __construct(public readonly int $bar) {} public function __set($var, $val) { echo '__set called'; } } $foo = new Foo(42); $foo->bar = 69;
Output for 8.1.0 - 8.1.9
Fatal error: Uncaught Error: Cannot modify readonly property Foo::$bar in /in/8PioE:12 Stack trace: #0 {main} thrown in /in/8PioE on line 12
Process exited with code 255.
Output for 8.0.1 - 8.0.22
Parse error: syntax error, unexpected identifier "int", expecting variable in /in/8PioE on line 4
Process exited with code 255.
Output for 7.4.0 - 7.4.30
Parse error: syntax error, unexpected 'public' (T_PUBLIC), expecting variable (T_VARIABLE) in /in/8PioE on line 4
Process exited with code 255.

preferences:
194.18 ms | 1395 KiB | 68 Q