class Money {
public function __construct(
public readonly int $amount,
public readonly string $currency,
) {}
}
$price = new Money(100, 'UAH');
echo $price->amount; // 100
$price->amount = 200; // Error: Cannot modify readonly property
PHP 8.2 додав readonly class — всі властивості класу автоматично стають readonly. Не потрібно писати модифікатор для кожної.
readonly class Point {
public function __construct(
public float $x,
public float $y,
) {}
}