Laravel Blade псевдонимы для компонентов и инклудов. Как использовать?

Псевдонимы для компонентов

Чтобы задать псевдоним для компонента, нужно передать его во втором параметре при объявлении компонента:

Blade::component('app.components.alert', 'alert');

Тут второй параметр alert - является псевдонимом (alias) для компонента app.components.alert.

После объявления, вы можете использовать псевдоним в шаблоне:

@alert(['type' => 'danger'])
  @slot('title')
    Forbidden
  @endslot

  You are not allowed to access this resource!
@endalert

{{-- Вместо --}}
@component('app.components.alert');
...
@endcomponent

Первый плюс данного подхода: нет необходимости изменять шаблоны, если вы захотите переместить файл компонента в другое место.

Псевдонимы для laravel blade

Второй плюс: вам не нужно помнить где находятся ваши компоненты, вы легко используете их с помощью псевдонимов. Одна, если все же нужно будет вспомнить где лежит конкретный компонент, вы можете быстро посмотреть в AppServiceProvider::boot() методе.

Псевдонимы для инклудов

Псевдонимы для инклудов доступны с версии Laravel 5.6.4. Принцип их использования такой же, как при использовании псевдонимов для компонентов.

Регистрируются псевдонимы точно так же:

Blade::include('includes.input');

И в шаблоне вызываются так:

@input(['type' => 'email'])

Шаблон инклуда может выглядеть так:

<input type="{{ $type ?? 'text' }}" />

При регистрации инклуда можно так же передать опциональный второй параметр:

{{-- По-дефолту Laravel подставляет имя сам --}}
Blade::include('includes.input', 'input');

{{-- Но вы можете указать имя вручную --}}
Blade::include('includes.input', 'textinput');

Больше информации вы можете найти в официальной документации по компонентам и псевдонимам.

 

Перевод статьи How to Use Blade Components and Include Aliases.

Опубликовано:

Категории: Статьи