Шаблон для всех страниц (Layout)

Чтобы сгенерировать шаблон для всех страниц, надо выполнить команду ниже:

# Laravel 6
composer require laravel/ui:^1.0
php artisan ui vue --auth

# Laravel 5
php artisan make:auth

Для Laravel 6 страница будет выглядеть неаккуратно, т.к. по умолчанию библиотека Bootstrap отсутствует. Её можно установить вручную, или если на сервере есть Node.JS, то Bootstrap можно установить, запустив команду ниже.

npm install & npm run dev

В результате сгенерируется файл resources/views/layouts/app.blade.php. На примере ниже показана её краткая форма.

<!-- resources/views/layouts/app.blade.php -->

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="csrf-token" content="{{ csrf_token() }}">
    <title>@yield('title')</title>
</head>

<body>
<p>Имя сайта</p>

@yield('content')

</body>
</html>

Вместо @yield('content') будет загружаться контент текущей страницы.

Подключается шаблон через команду @extends.

<!-- resources/views/contacts.blade.php -->

@extends('layouts.app')
@section('title', 'Имя страницы')

@section('content')
    <p>Контент текущей страницы</p>
@stop

Команда php artisan make:auth кроме шаблона, также создаёт страницы для авторизации и регистрации пользователей.