Работает нормально и не вызывает проблем
echo $formErrorBag[ 'email' ] ?? null
Но является ли это общепринятой практикой? Никогда не видел пример этого с null
,
Это полностью законно и принято. Это довольно простой и элегантный способ избежать E_NOTICE
если $formErrorBag
не имеет 'email'
ключ.
Нулевой оператор объединения объединяет значения с isset()
так вот:
echo $formErrorBag['email'] ?? null;
Равно:
if(isset($formErrorBag['email'])){
echo $formErrorBag['email'];
} else {
echo null;
}
Я действительно не вижу в этом смысла, поскольку вы все еще выполняете функцию, ничего не делая буквально. Если вы делаете это, чтобы избежать поднятия E_NOTICE
Вы можете просто выключить его error_reporting()
поскольку ваш метод как бы ломает суть всего этого.
Он там, чтобы предупредить вас о возможной ошибке в вашем коде, не найдя методов для ее устранения.
error_reporting(error_reporting() ^ E_NOTICE); // turn notices off keep remaining flags intact.
echo $array['doesnotexist'];
echo $array['etc'];
error_reporting(error_reporting() | E_NOTICE); // turn it back on.