Что такое readonly свойства и readonly классы?

Ответ
// readonly свойство (PHP 8.1)
class User {
    public function __construct(
        public readonly string $name,
        public readonly string $email,
    ) {}
}

$user = new User('John', 'john@example.com');
$user->name = 'Jane'; // Error: Cannot modify readonly property

// readonly класс (PHP 8.2) - все свойства readonly
readonly class Point {
    public function __construct(
        public float $x,
        public float $y,
    ) {}
}

readonly свойство можно установить только один раз (обычно в конструкторе). Нельзя unset. Нельзя изменять после инициализации (даже из самого класса). В PHP 8.3 readonly свойства можно клонировать с изменением.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.