"Шаблонизатор Blade в Laravel: полное руководство"
Blade — официальный шаблонизатор Laravel, который делает создание frontend-интерфейсов быстрым, удобным и читаемым.
В этой статье разберём:
- как работает Laravel Blade;
- директивы Blade;
- layouts;
- components;
- slots;
- Blade templates;
- лучшие практики frontend-разработки.
Что такое Laravel Blade
Blade — это встроенный шаблонизатор Laravel.
Основные преимущества:
- простый синтаксис;
- высокая производительность;
- интеграция с Laravel;
- поддержка компонентов;
- удобная работа с frontend.
Где находятся Blade шаблоны
Все шаблоны располагаются в:
resources/views
Файлы имеют расширение:
.blade.php
Вывод данных в Blade
{{ $title }}
Blade автоматически экранирует HTML.
Неэкранированный вывод
{!! $content !!}
Использовать осторожно.
Blade директивы
Условные конструкции
@if($user)
@endif
elseif и else
@if($role === 'admin')
@elseif($role === 'manager')
@else
@endif
Циклы Blade
foreach
@foreach($posts as $post)
@endforeach
forelse
@forelse($posts as $post)
@empty
@endforelse
Layouts в Laravel Blade
Blade layouts помогают переиспользовать шаблоны.
Master Layout
<html>
<body>
@yield('content')
</body>
</html>
Наследование шаблонов
@extends('layouts.app')
@section('content')
@endsection
Blade Components
Laravel Blade components — современный способ создания UI.
Создание компонента:
php artisan make:component Alert
Использование компонента
<x-alert />
Slots
<x-card>
<x-slot:title>
Title
</x-slot>
</x-card>
Include шаблонов
@include('partials.header')
CSRF защита
Blade автоматически работает с CSRF.
@csrf
Работа с формами
<form method="POST">
@csrf
</form>
Blade и Laravel Tailwind
Blade отлично работает с Tailwind CSS.
Пример:
<div class="bg-white rounded-xl shadow">
</div>
Blade и Alpine.js
Часто используется связка:
- Laravel Blade;
- Tailwind CSS;
- Alpine.js.
Это позволяет создавать современный frontend без SPA.
Blade vs React/Vue
Blade отлично подходит для:
- CRM;
- админок;
- корпоративных систем;
- SSR-приложений.
React и Vue лучше подходят для сложных SPA.
Оптимизация Blade
Рекомендуется:
- использовать components;
- избегать тяжёлой логики в шаблонах;
- минимизировать SQL в views;
- кешировать сложные блоки.
Итоги
Laravel Blade остаётся одним из самых удобных шаблонизаторов для PHP.
С помощью Blade можно:
- быстро создавать frontend;
- переиспользовать компоненты;
- строить layouts;
- интегрировать Tailwind и Alpine.js.
Blade идеально подходит для большинства Laravel-проектов.