Начиная с версии 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()) читабельнее.

