РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1 of 1392 menu

Директива @if

Директива @if в Blade позволяет создавать условные конструкции непосредственно в шаблонах. Она работает аналогично оператору if в PHP, но имеет более удобный синтаксис. Директива принимает выражение, которое вычисляется как булево значение, и в зависимости от результата отображает соответствующий блок кода.

Синтаксис

@if ($condition) <!-- код, выполняемый если условие истинно --> @elseif ($anotherCondition) <!-- код, выполняемый если другое условие истинно --> @else <!-- код, выполняемый если ни одно условие не истинно --> @endif

Пример

Давайте отобразим приветствие в зависимости от статуса пользователя:

@php $user = auth()->user(); @endphp @if ($user && $user->isAdmin()) <h1>Добро пожаловать, администратор!</h1> @elseif ($user) <h1>Добро пожаловать, {{ $user->name }}!</h1> @else <h1>Добро пожаловать, гость!</h1> @endif

Результат выполнения кода для гостя:

<h1>Добро пожаловать, гость!</h1>

Пример

Проверим, есть ли у пользователя право на редактирование статьи:

@php $article = App\Models\Article::find(1); @endphp <h1>{{ $article->title }}</h1> <p>{{ $article->text }}</p> @if ($article->author_id === auth()->id()) <button>Редактировать</button> @endif

Результат выполнения кода для автора статьи:

<h1>Заголовок статьи</h1> <p>Текст статьи</p> <button>Редактировать</button>

Пример

Используем директиву @if для проверки наличия записей в коллекции:

@php $posts = App\Models\Post::where('active', 1)->get(); @endphp @if ($posts->count() > 0) <ul> @foreach ($posts as $post) <li>{{ $post->title }}</li> @endforeach </ul> @else <p>Статьи не найдены.</p> @endif

Результат выполнения кода, если записи найдены:

<ul> <li>Первая статья</li> <li>Вторая статья</li> </ul>

Пример

Используем вложенные условия для проверки нескольких параметров:

@php $cartItems = [1, 2, 3]; $isLoggedIn = true; @endphp @if (count($cartItems) > 0) @if ($isLoggedIn) <p>У вас {{ count($cartItems) }} товаров в корзине.</p> <button>Оформить заказ</button> @else <p>Войдите, чтобы оформить заказ.</p> @endif @else <p>Корзина пуста.</p> @endif

Результат выполнения кода для авторизованного пользователя с товарами:

<p>У вас 3 товаров в корзине.</p> <button>Оформить заказ</button>

Смотрите также

  • директива @unless,
    которая выполняет код, если условие ложно
  • директива @empty,
    которая проверяет, пуста ли переменная
  • директива @isset,
    которая проверяет, определена ли переменная
  • директива @guest,
    которая проверяет, является ли пользователь гостем
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить