Директива includeIf
Директива includeIf предназначена для условного включения представлений в Blade-шаблонах.
Она проверяет существование указанного шаблона и подключает его только в том случае,
если файл представления существует. Первым параметром передаётся имя подключаемого шаблона,
вторым - массив данных для передачи в подключаемое представление (необязательный параметр).
Если шаблон не найден, директива ничего не выводит и не генерирует ошибку.
Синтаксис
@includeIf('view.name', ['key' => 'value'])
Пример
Давайте подключим шаблон в зависимости от его существования:
<h1>Главная страница</h1>
@includeIf('partials.sidebar', ['user' => $user])
<p>Основной контент страницы</p>
Пример
Рассмотрим пример с передачей данных в подключаемый шаблон:
<div class="sidebar">
<h3>Боковая панель</h3>
<p>Пользователь: {{ $user['name'] }}</p>
<p>Email: {{ $user['email'] }}</p>
</div>
@php
$user = [
'name' => 'John Doe',
'email' => 'john@example.com'
];
@endphp
<h1>Главная страница</h1>
@includeIf('partials.sidebar', ['user' => $user])
Результат выполнения кода:
<h1>Главная страница</h1>
<div class="sidebar">
<h3>Боковая панель</h3>
<p>Пользователь: John Doe</p>
<p>Email: john@example.com</p>
</div>
Пример
Если шаблон не существует, директива просто игнорируется:
<h1>Главная страница</h1>
@includeIf('partials.non_existent')
<p>Этот текст будет выведен без ошибок</p>
Результат выполнения кода:
<h1>Главная страница</h1>
<p>Этот текст будет выведен без ошибок</p>
Как видно, при отсутствии шаблона partials.non_existent директива не выводит
никакого контента и не генерирует исключение, что делает код более надёжным.
Смотрите также
-
директива
include,
которая подключает шаблон и генерирует ошибку при его отсутствии -
директива
includeWhen,
которая подключает шаблон при выполнении условия -
директива
if,
которая позволяет создавать условные конструкции в шаблонах -
директива
foreach,
которая используется для итерации по массивам в Blade-шаблонах