Шаблоны Laravel Blade — введение

Шаблоны Laravel Blade — введение Изучение

Изучите основы синтаксиса блейда и системы шаблонов. Система шаблонов Laravel Blade — это один из способов, которым PHP-фреймворк Laravel упрощает жизнь разработчика.

Синтаксис Blade понятен и прост, но легко справляется с наследованием вложенных шаблонов и сложными условиями. А поскольку синтаксис Blade компилируется в PHP-код, а затем кэшируется, он обеспечивает лучшую производительность веб-сервера, чем использование только стандартного PHP.

Требования

  • Облачный сервер с установленным Laravel и PHP 7.0+.

Создать новый проект

Подключитесь к вашему серверу с помощью SSH, затем su с вашим пользователем Laravel. Перейдите в свой веб-каталог:

cd /var/www/html

Создайте новый базовый проект:

laravel new basic-site

Это создает основной каталог проекта и создает все стандартные компоненты и подкаталоги Laravel.

Перейдите в каталог проекта:

cd basic-site

Прежде чем вы сможете просмотреть проект в браузере, необходимо выполнить еще один шаг. Право собственности на каталог basic-site/storage должно быть передано веб-пользователю сервера:

sudo chown -R www-data:www-data storage

Построение базовой файловой структуры

Шаблоны Blade находятся в папке resources/views. Мы собираемся создать набор каталогов для организации наших новых шаблонов Blade. Структура файла:

- resources
-- views
--- includes
------- header.blade.php
------- footer.blade.php
--- layouts
------- default.blade.php
--- pages
------- home.blade.php

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

Создайте необходимые каталоги с помощью команд:

mkdir resources/views/layouts
mkdir resources/views/pages
mkdir resources/views/includes

Создайте файлы

Далее мы создадим файлы примеров. Каждый блейд-файл должен следовать соглашению об именах [имя_файла].blade.php и находиться в каталоге resources/views проекта Laravel.

Шаблон по умолчанию

Создайте файл default.blade.php:

nano resources/views/layouts/default.blade.php

Это файл шаблона по умолчанию. Вставьте в этот файл следующее содержимое:

<html>
<head>
  @include('includes.header')
</head>
<body>

  @yield('content')

  @include('includes.footer')

</body>
</html>

Сохраните и закройте файл.

Два элемента синтаксиса блейда, на которые следует обратить внимание:

  • @include извлекает информацию из файлов в каталоге include.
  • @yield извлекает информацию из области содержимого домашней страницы.
Читайте также:  Полное руководство по использованию функции enumerate в Python

Заголовок

Создайте файл header.blade.php:

nano resources/views/includes/header.blade.php

Это будет включенный заголовочный файл. Вставьте в этот файл следующее содержимое:

<title>My Laravel Example Site</title>
<meta name="description" content="An example site for learning Laravel.">

Сохраните и закройте файл.

Нижний колонтитул

Создайте файл footer.blade.php:

nano resources/views/includes/footer.blade.php

Это включенный файл нижнего колонтитула. Вставьте в этот файл следующее содержимое:

<p>This is the included footer.</p>

Сохраните и закройте файл.

Домашняя страница

Создайте файл home.blade.php:

nano resources/views/pages/home.blade.php

Это будет наша домашняя страница. Вставьте в этот файл следующее содержимое:

@extends('layouts.default')
@section('content')
    Hello, world! Welcome to the home page.
@endsection

Сохраните и закройте файл.

Несколько замечаний по синтаксису блейдов:

  • @extends сообщает Laravel, что содержимое этого файла расширяет другое представление. Он также определяет представление, которое он расширяет, как наш шаблон по умолчанию: Resources/Views/Layouts/default.blade.php.
  • @section определяет начало раздела, который мы назвали контентом. Все, что содержится в этом разделе, появится в @yield, который мы определили в шаблоне.
  • @endsection закрывает этот раздел. Термины @section и @endsection должны использоваться парами, как и другие теги HTML (например,и).

Создание маршрута

Поскольку мы будем использовать только простые макеты лезвий, все, что нам нужно сделать, это создать простой маршрут, который загружает одно представление. Нет необходимости создавать что-то более сложное (например, контроллер).

Откройте файл route/web.php для редактирования:

nano routes/web.php

Найдите раздел, который гласит:

Route::get('/', function () {
    return view('welcome');
});

Замените его на:

Route::get('/', function () {
    return view('pages/home');
});

Сохраните и закройте файл.

Этот маршрут принимает запросы к корневому общедоступному каталогу (/) и перенаправляет их в файл home.blade.php в каталоге сайта.

После того, как вы закончите создание маршрута, вы можете просмотреть результаты в своем браузере, добавив /basic-site/public в конец своего домена (например, http://example.com/basic-site/public).

Оцените статью
Блог о программировании
Добавить комментарий