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

Директива @use

Директива @use позволяет импортировать классы в Blade-шаблон, аналогично оператору use в обычном PHP-коде. Она принимает полное имя класса с пространством имён. После импорта вы можете использовать класс по его короткому имени внутри шаблона. Это особенно удобно при работе с вспомогательными классами, фасадами или моделями.

Синтаксис

@use('App\Models\Article') @use('Illuminate\Support\Str', 'StrAlias')

Первый параметр - полное имя класса. Второй параметр (необязательный) - псевдоним для импортируемого класса.

Пример

Импортируем модель Article и выведем заголовки всех статей:

@use('App\Models\Article') @php $articles = Article::where('status', 'published')->get(); @endphp @foreach ($articles as $article) <h3>{{ $article->title }}</h3> <p>{{ $article->description }}</p> @endforeach

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

<h3>Первая статья</h3> <p>Описание первой статьи</p> <h3>Вторая статья</h3> <p>Описание второй статьи</p>

Пример

Используем псевдоним для класса Str, чтобы сократить его имя:

@use('Illuminate\Support\Str', 'Str') @php $name = 'john doe'; $slug = Str::slug($name); @endphp <p>Имя пользователя: {{ $name }}</p> <p>Slug: {{ $slug }}</p>

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

<p>Имя пользователя: john doe</p> <p>Slug: john-doe</p>

Пример

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

@use('App\Models\User') @use('App\Models\Post', 'BlogPost') @use('Illuminate\Support\Collection') @php $users = User::where('active', true)->get(); $posts = BlogPost::where('published', true)->get(); $combined = Collection::make($posts)->merge($users); @endphp <p>Всего записей: {{ $combined->count() }}</p>

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

"Всего записей: 5"

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

  • директива @php,
    которая позволяет выполнять PHP-код в шаблоне
  • директива @inject,
    которая внедряет сервисы из контейнера
  • директива @aware,
    которая передаёт данные в компонент
  • директива @each,
    которая рендерит частичные шаблоны для каждого элемента
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить