3v4l.org

run code in 300+ PHP versions simultaneously
<?php class OfficeProductResponseDTO { /** * @param string|null $officeId GUID офиса * @param array $products Массив GUID товаров * @param int|null $code Код * @param string|null $message Сообщение * @param int|null $reason Причина */ public function __construct( public readonly ?string $officeId, public readonly array $products, public readonly ?int $code, public readonly ?int $reason, public readonly ?string $message, ) { } } $dto = new OfficeProductResponseDTO('12', ['guid'], 200, 5, 'message'); $dto->officeId = 'guid2'; var_dump($dto);
Output for 8.1.32, 8.2.0 - 8.2.28, 8.3.0 - 8.3.19, 8.4.1 - 8.4.5
Fatal error: Uncaught Error: Cannot modify readonly property OfficeProductResponseDTO::$officeId in /in/Lt5m9:24 Stack trace: #0 {main} thrown in /in/Lt5m9 on line 24
Process exited with code 255.

preferences:
60.19 ms | 406 KiB | 5 Q