Выбор ответа Junior PHP 8.x: enum, readonly, match спрашивают часто обновлено

readonly-свойства

Вопрос

Что произойдёт при второй записи в readonly-свойство?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Error: Cannot modify readonly property. readonly-свойство (PHP 8.1) можно инициализировать один раз и только изнутри класса (в 8.4 правила области расширили).

Варианты ответа

  1. Error: Cannot modify readonly propertyправильный ответ
  2. Значение молча не изменится
  3. Предупреждение и успешная запись
  4. Свойство станет null

Разбор

readonly-свойство (PHP 8.1) можно инициализировать один раз и только изнутри класса (в 8.4 правила области расширили). Повторная запись бросает Error. У readonly-свойства обязательно должен быть тип. Важно: readonly не делает неизменяемыми вложенные объекты, только саму ссылку на них.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме