3v4l.org

run code in 300+ PHP versions simultaneously
<?php enum Status: int { case New = 0; case Pending = 1; } abstract class HistoryRecord { protected function __construct(public readonly Status $status) { } } class NewHistoryRecord extends HistoryRecord { public function __construct() { parent::__construct(Status::New); } } $nhr = new NewHistoryRecord(); var_dump($nhr);
Output for 8.1.0 - 8.1.6
object(NewHistoryRecord)#1 (1) { ["status"]=> enum(Status::New) }
Output for 8.0.1 - 8.0.19
Parse error: syntax error, unexpected identifier "Status" in /in/h24Pq on line 3
Process exited with code 255.
Output for 7.4.0 - 7.4.29
Parse error: syntax error, unexpected 'Status' (T_STRING) in /in/h24Pq on line 3
Process exited with code 255.

preferences:
200.39 ms | 1395 KiB | 61 Q