Изучите основы синтаксиса блейда и системы шаблонов. Система шаблонов 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 извлекает информацию из области содержимого домашней страницы.
Заголовок
Создайте файл 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:
Это будет наша домашняя страница. Вставьте в этот файл следующее содержимое:
@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 для редактирования:
Найдите раздел, который гласит:
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).








