Назад к вопросам
JuniorТеорияЧасто
Что произойдёт при запуске программы?
<?php
class Account
{
public function __construct(private int $balance) {}
}
$acc = new Account(50);
echo 'ok', "\n";
echo $acc->balance, "\n";ok, затем Error: Cannot access private property
- Ждать
50, будто продвижение делает свойство публичным:private int $balanceобъявляетprivate-свойство, и его чтение снаружиAccountбросаетError. - Ждать Warning и пустое значение:
private-свойство не отсутствует, а закрыто, поэтому чтение снаружи бросаетErrorи останавливает программу.
- Как дать коду снаружи читать баланс, не давая ему менять баланс?
- Какой код может читать
$this->balanceбез ошибки?