3v4l.org

run code in 300+ PHP versions simultaneously
<?php readonly class ImmutableBadNumberGenerator { public function __construct(private readonly int $i) {} public function generate(): int { static $j = 1; ++$j; return $this->i + $j; } } $o = new ImmutableBadNumberGenerator(10); var_dump($o->generate()); var_dump($o->generate()); var_dump($o->generate());
Output for 8.2.1 - 8.2.29, 8.3.5 - 8.3.25, 8.4.1 - 8.4.12
int(12) int(13) int(14)
Output for 8.1.0 - 8.1.33
Parse error: syntax error, unexpected token "readonly", expecting end of file in /in/A2Lbs on line 3
Process exited with code 255.
Output for 8.0.1 - 8.0.26
Parse error: syntax error, unexpected token "class" in /in/A2Lbs on line 3
Process exited with code 255.

preferences:
66.78 ms | 408 KiB | 5 Q