В пхп 7.4 если мы пытаемся получить доступ к типизированному свойству, которому не засетано значение, всё падает с ошибкой.
Стоит задача - проверить, иницилаизированно ли свойство объекта каким-то значением, включая null.
class A
{
private ?string $typed;
public function isTypedInitialized(): bool
{
// ???
}
}
как это сделать? isset возвращает false для null, в итоге мы не можем понять, то ли оно не инициализированно, то ли инициализированно наллом.
Если вдруг интересно, зачем такое нужно - для кеширования. Если свойство проинициализированно, значит данные закешировались и мы берем их из кеша. Если в нем налл, значит повторно пытаться получить данные из источника не нужно - так как этот налл из источника и пришел.