0Pricing
PHP Academy · Урок

Шаблоны и представления Blade

Отображайте динамический HTML с помощью директив, макетов и компонентов Blade

«Шаблоны и представления Blade» — бесплатный урок PHP Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 4 уроков всего.

Что такое Blade

Blade — шаблонизатор Laravel. Файлы имеют расширение .blade.php и поддерживают директивы, циклы и наследование макетов. Blade компилируется в обычный PHP и кэшируется.

Вывод переменных

Используйте двойные фигурные скобки для вывода переменной. Значение автоматически экранируется, чтобы предотвратить XSS.

{{-- resources/views/greeting.blade.php --}}
<h1>Hello, {{ $name }}</h1>
<p>You have {{ $messageCount }} messages.</p>

Неэкранированный вывод

Используйте {!! !!} для вывода необработанного (неэкранированного) HTML. Применяйте это только для доверенного содержимого.

{!! $htmlContent !!}

Условные конструкции

Blade предоставляет директивы @if, @elseif, @else, @endif.

@if($user->isAdmin())
    <a href="/admin">Admin Panel</a>
@elseif($user->isEditor())
    <a href="/editor">Editor</a>
@else
    <a href="/dashboard">Dashboard</a>
@endif

@isset и @empty

Удобные сокращения для распространённых проверок на null и пустое значение.

@isset($username)
    <p>Welcome, {{ $username }}</p>
@endisset

@empty($items)
    <p>No items found.</p>
@endempty

Циклы

Blade поддерживает @foreach, @for, @while и @forelse (с запасным вариантом @empty).

@forelse($posts as $post)
    <article>
        <h2>{{ $post->title }}</h2>
    </article>
@empty
    <p>No posts yet.</p>
@endforelse

Переменная $loop

Внутри @foreach переменная $loop предоставляет метаданные: $loop->index, $loop->first, $loop->last, $loop->count.

Макет с @extends и @section

Определите основной макет и расширяйте его в дочерних представлениях.

{{-- layouts/app.blade.php --}}
<html>
<body>
    @yield("content")
</body>
</html>

{{-- pages/home.blade.php --}}
@extends("layouts.app")
@section("content")
    <h1>Home Page</h1>
@endsection

@include

Подключайте частичное дочернее представление.

@include("partials.nav")
@include("partials.alert", ["type" => "success", "msg" => "Saved!"])

Компоненты Blade

Повторно используемые компоненты находятся в resources/views/components/ и используются с синтаксисом <x-component-name>.

{{-- components/alert.blade.php --}}
<div class="alert alert-{{ $type }}">
    {{ $slot }}
</div>

{{-- Usage: --}}
<x-alert type="success">Profile updated!</x-alert>

Передача данных в представления

Из контроллера передавайте данные с помощью view() и массива или compact().

<?php
return view("users.index", [
    "users" => User::all(),
    "title" => "All Users",
]);
// Or:
return view("users.index", compact("users", "title"));

Итоги

Blade компилируется в PHP. Используйте {{ }} для экранированного вывода, @extends/@section для макетов, @foreach/@forelse для циклов и <x-component> для повторно используемого интерфейса.

Быстрая проверка

Какой синтаксис Blade безопасно экранирует вывод, предотвращая XSS?

Часто задаваемые вопросы

Урок «Шаблоны и представления Blade» бесплатный?

Да — полный текст урока «Шаблоны и представления Blade» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 4 уроков всего.

Чему я научусь в уроке «Шаблоны и представления Blade»?

Отображайте динамический HTML с помощью директив, макетов и компонентов Blade Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать PHP Academy?

Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Шаблоны и представления Blade»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке PHP Academy?

Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Структура проекта Laravel
  2. Определение маршрутов в Laravel
  3. Контроллеры и действия
  4. Шаблоны и представления Blade
← Назад к PHP Academy