Расширение шаблонов Laravel Blade: руководство по созданию модульных представлений

Чтобы расширить шаблоны Laravel Blade, вы можете использовать директиву @extends. Эта директива позволяет вам указать родительское представление, от которого должно наследовать текущее представление. Это мощная функция, позволяющая создавать многоразовые модульные представления.

Вот пример использования директивы @extends:

  1. Создайте родительский файл представления, скажем, layouts/app.blade.php, который содержит общую структуру и макет вашего приложения:
<!DOCTYPE html>
<html>
<head>
    <title>@yield('title')</title>
    <!-- Add your common meta tags, stylesheets, and scripts here -->
</head>
<body>
    <!-- Add your common header, navigation, and footer here -->

    @yield('content')

    <!-- Add your common scripts here -->
</body>
</html>
  1. Создайте файл дочернего представления, например home.blade.php, который расширяет родительское представление с помощью директивы @extendsи при необходимости переопределяет определенные разделы:
  2. li>

@extends('layouts.app')
@section('title', 'Home')
@section('content')
    <h1>Welcome to the home page!</h1>
    <!-- Add your home page content here -->
@endsection

В этом примере директива @yieldиспользуется в родительском представлении для определения разделов, которые можно переопределить в дочернем представлении с помощью директивы @section.

Помимо директивы @extends, Laravel Blade предоставляет несколько других полезных директив и функций, в том числе:

  • @yield: определяет раздел, который может быть переопределен дочерними представлениями.
  • @section: определяет содержимое раздела, которое будет переопределять соответствующий @yield.
  • @include: включает еще одно представление Blade в текущее представление.
  • @if, @else, @elseif, @endif: условные операторы.
  • @foreach, @for, @ while: циклические структуры.
  • @push, @stack, @prepend: позволяет помещать контент в стек, который можно отобразить позже.

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