Начиная с версии 5.5 в Laravel появилась функция-хелпер optional()
. По сути — это лаконичная замена более громоздким и часто используемым проверкам if (isset(…))
. Например, у нас есть объект $order
, и мы хотим применить к нему некий шаблон, но только если он есть у пользователя-владельца. Обычно мы пишем как-то так:
if (isset($order->user->template)) {
$order->user->template->apply($order);
}
С хелпером optional()
мы напишем короче:
optional($order->user->template)->apply($order);
Если $order->user
, или $order->user->template
не существует, вызванный метод просто вернет NULL
и ошибки не будет.
Хотя хелпер довольно удобный, сколько ни пользуюсь/встречаю его где-то, каждый раз непривычно выглядит. В связи с чем никак не определюсь — надо им пользоваться, или привычный if (isset())
читабельнее.