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

Директива includeWhen

Директива includeWhen используется в Blade-шаблонах для условного подключения других представлений. Первым параметром передаётся условие (булево значение или переменная), вторым - имя подключаемого шаблона, третьим (необязательным) - массив данных для передачи в подключаемый шаблон. Если условие истинно, происходит подключение указанного представления.

Синтаксис

@includeWhen($condition, 'view.name', ['key' => 'value'])

Пример

Давайте подключим шаблон 'partials.menu' только если переменная $showMenu равна true:

@php $showMenu = true; @endphp @includeWhen($showMenu, 'partials.menu')
<nav> <ul> <li><a href="/">Home</a></li> <li><a href="/about">About</a></li> <li><a href="/contact">Contact</a></li> </ul> </nav>

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

<nav> <ul> <li><a href="/">Home</a></li> <li><a href="/about">About</a></li> <li><a href="/contact">Contact</a></li> </ul> </nav>

Пример

Давайте передадим данные в подключаемый шаблон и подключим его только если есть пользователь:

@php $user = ['name' => 'John', 'age' => 30]; $isLoggedIn = true; @endphp @includeWhen($isLoggedIn, 'partials.profile', ['user' => $user])
<div class="profile"> <p>Name: {{ $user['name'] }}</p> <p>Age: {{ $user['age'] }}</p> </div>

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

<div class="profile"> <p>Name: John</p> <p>Age: 30</p> </div>

Пример

Давайте используем выражение в качестве условия и подключим шаблон если массив не пуст:

@php $items = [1, 2, 3, 4, 5]; @endphp @includeWhen(count($items) > 0, 'partials.list', ['items' => $items])
<ul> @foreach ($items as $item) <li>{{ $item }}</li> @endforeach </ul>

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

<ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul>

Пример

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

<?php namespace AppHttpControllers; class ArticleController extends Controller { public function index() { $articles = ['article 1', 'article 2', 'article 3']; $showArticles = true; return view('index', [ 'articles' => $articles, 'showArticles' => $showArticles ]); } } ?>
@includeWhen($showArticles, 'partials.articles', ['articles' => $articles])
@foreach ($articles as $article) <p>{{ $article }}</p> @endforeach

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

<p>article 1</p> <p>article 2</p> <p>article 3</p>

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

  • директива include,
    которая подключает шаблон без условий
  • директива includeIf,
    которая подключает шаблон если он существует
  • директива if,
    которая выполняет условные конструкции
  • директива foreach,
    которая выполняет итерацию по данным
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить