Студия разработки сайтов и приложений

Netspark.ru

Заметки и разработки

Drupal

Функция-хелпер optional()

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

Комментарии