Загрузка...

Laravel. Хелпер optional

laravel cover

Функция – хелпер optional в Laravel – это функция, которая позволяет избежать ошибок null при работе с объектами или коллекциями. Она была добавлена в Laravel 5.5 и позволяет вам безопасно вызывать методы или доступ к свойствам объекта, даже если он null.

Синтаксис использования optional следующий:

optional($object)->method();

или

optional($object)->property;

Если $object null, то optional вернёт null, а не выбросит исключение.

Например, если у вас есть объект $user, который может быть null, и вы хотите вызвать метод getName() на этом объекте, вы можете использовать optional следующим образом:

optional($user)->getName();

Если $user null, то optional вернёт null, а не выбросит исключение.

optional также можно использовать с коллекциями. Например, если у вас есть коллекция $users, которая может быть null, и вы хотите вызвать метод each() на этой коллекции, вы можете использовать optional следующим образом:

optional($users)->each(function ($user) {
// код
});

Если $users null, то optional вернёт null, а не выбросит исключение.

optional также можно использовать с цепочкой вызовов методов. Например:

optional($user)->getName()->toUpperCase();

Если $user null, то optional вернёт null, а не выбросит исключение.

В целом, optional – это удобная функция, которая позволяет избежать ошибок null при работе с объектами или коллекциями в Laravel.

В вашем случае, когда вы используете optional с коллекцией $categories, это позволяет избежать ошибок null при переборе коллекции:

@forelse(optional($categories)->all() as $category)

    <option value="{{ $category->id }}">{{ $category->name }}</option>

@empty

    <!-- no categories found -->

@endforelse

Если $categories null, то optional вернёт null, а не выбросит исключение, и цикл @forelse не будет выполнен.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *