Учебник Laravel для начинающих
Полный практический курс по самому популярному PHP-фреймворку. От первой команды Composer до готового CRUD-приложения с аутентификацией. Вы освоите архитектуру MVC, маршрутизацию, middleware, шаблонизатор Blade с компонентами, миграции и Eloquent ORM, обработку форм с валидацией и систему входа пользователей. Все примеры на актуальном Laravel 11 с новой облегчённой структурой проекта.
Курс «Laravel: веб на PHP» состоит из 6 разделов и 20 уроков: Введение и архитектура MVC, Маршруты, контроллеры и middleware, Шаблонизатор Blade, База данных и Eloquent ORM, Формы и валидация и Аутентификация и практика. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.
Программа курса
1 Введение и архитектура MVC
- Что такое Laravel и зачем он нужен
Знакомство с фреймворком Laravel: что это, какие задачи решает, почему его выбирают для веб-разработки на PHP в 2024-2025.
- Установка Laravel и структура проекта
Как установить Laravel 11 через Composer, запустить локальный сервер artisan serve и разобраться в новой облегчённой структуре каталогов.
- Паттерн MVC и жизненный цикл запроса
Что такое архитектура MVC в Laravel, как разделяются Model, View и Controller, и полный путь HTTP-запроса от index.php до ответа.
- Artisan и Tinker: командная строка Laravel
Консоль Laravel: команда artisan для генерации кода и управления приложением, REPL-оболочка Tinker для интерактивной работы с моделями.
- Что такое Laravel и зачем он нужен
2 Маршруты, контроллеры и middleware
- Маршруты: связь URL и кода
Как работают маршруты в Laravel: routes/web.php, методы Route::get и Route::post, замыкания и параметры маршрута.
- Контроллеры: организация логики
Как создавать и использовать контроллеры в Laravel: artisan make:controller, ресурсные контроллеры и внедрение зависимостей.
- Middleware: фильтры запросов
Что такое middleware в Laravel, как они фильтруют HTTP-запросы, регистрация в bootstrap/app.php и применение к маршрутам.
- Маршруты: связь URL и кода
3 Шаблонизатор Blade
- Основы Blade: вывод данных и директивы
Шаблонизатор Blade в Laravel: вывод переменных через двойные фигурные скобки, экранирование, директивы if и foreach.
- Наследование шаблонов и секции
Наследование шаблонов в Blade: общий layout, директивы extends, section, yield и подключение частей через include.
- Blade-компоненты: переиспользуемый UI
Blade-компоненты в Laravel: классовые и анонимные компоненты, props, slots и слияние атрибутов для переиспользуемого интерфейса.
- Основы Blade: вывод данных и директивы
4 База данных и Eloquent ORM
- Миграции: версионирование базы данных
Миграции в Laravel: создание таблиц через Schema, методы up и down, запуск migrate и откат изменений базы данных.
- Eloquent ORM: модели и базовые запросы
Eloquent ORM в Laravel: что такое модель, соглашения об именах, методы all, find, where и создание записей.
- Отношения Eloquent: связи между таблицами
Отношения в Eloquent: hasMany, belongsTo, belongsToMany, обращение к связанным данным и устранение проблемы N+1.
- Сидеры и фабрики: тестовые данные
Сидеры и фабрики в Laravel: наполнение базы тестовыми данными через Seeder и Factory, метод db:seed и фейковые записи для разработки.
- Миграции: версионирование базы данных
5 Формы и валидация
- HTML-формы, отправка данных и CSRF
Обработка форм в Laravel: метод POST, директива csrf, чтение данных через объект Request и защита от CSRF-атак.
- Валидация данных и вывод ошибок
Валидация в Laravel: метод validate, правила required, email, min, отображение ошибок в Blade и сохранение старого ввода.
- Form Request: валидация в отдельном классе
Form Request в Laravel: вынос правил валидации и авторизации в отдельный класс, методы rules и authorize, чистые контроллеры.
- HTML-формы, отправка данных и CSRF
6 Аутентификация и практика
- Аутентификация: вход, регистрация, защита
Аутентификация в Laravel: стартовый набор Breeze, фасад Auth, middleware auth и guest, доступ к текущему пользователю.
- Авторизация: политики и Gate
Авторизация в Laravel: разница с аутентификацией, политики (Policy) для моделей, гейты (Gate), методы can и директива @can в Blade.
- Практика: CRUD-приложение от и до
Практический CRUD на Laravel: связываем маршруты, контроллер, миграцию, Eloquent, Blade и валидацию в полноценное приложение.
- Аутентификация: вход, регистрация, защита