Что за ошибка
В PHP 7.4 появились typed properties, т.е. типизированные свойства класса. Теперь вы можете указывать тип свойства при его объявлении.
Ошибка Typed property must not be accessed before initialization возникает в том случае, если вы попытаетесь получить значение типизированного свойства, которое в свою очередь еще не определено (не задано). Т.е. в классе вы написали:
protected int $number;
и где-то ниже в методе пытаетесь получить значение свойства:
$var = $this->number;
Что делать?
- можно определить значение свойства перед вызовом
- при объявлении свойства указать значение по умолчанию
- отказаться от объявление типа