Назад к вопросам
JuniorТеорияЧасто
Что произойдёт при запуске программы?
<?php
class Ticket
{
public function __construct(public readonly int $id) {}
}
$t = new Ticket(7);
echo $t->id, "\n";
$t->id = 8;
echo $t->id, "\n";7, затем Error: Cannot modify readonly property
- Ждать
8, будтоreadonly— пометка, которую PHP не проверяет: свойство получает значение один раз, а повторная запись бросаетErrorи останавливает программу. - Ждать, что повторная запись молча пропустится: запрещённую запись PHP не игнорирует, а бросает
Errorна этой строке.
- Как получить билет с id
8, не нарушаяreadonly? - Почему у
readonly-свойства не может быть значения по умолчанию?