Курс · Laravel

Laravel: первое приложение

Курс из шести частей для тех, кто прошёл программу CURRICULUM.yaml: от «почему вообще фреймворк» до рабочего CRUD-приложения со списком пользователей (ФИО, телефон, email, пароль) — добавить, изменить, удалить.

Всё, что показано в терминалах и на скриншотах, выполнено по-настоящему на стенде, повторяющем вашу машину: Linux Mint 22 (Ubuntu 24.04), PHP 8.3, nginx 1.24, MariaDB 10.11, локальная доменная зона .rs. Версии: Laravel 13.11, Composer 2.7.1. Как это собрано — в design/CAPTURES.md.

Части

  1. Зачем фреймворк, Composer и установка Laravel — что болит в «чистом PHP», пакетный менеджер Composer, автозагрузка, composer create-project, что и куда установилось.
  2. Структура проекта, первый запрос и nginx — из чего состоит приложение, точка входа, первый маршрут и шаблон Blade, vhost в nginx с зоной .rs (root в public, try_files), жизненный цикл запроса.
  3. Контроллеры, Blade и список пользователей из массива — маршрут → контроллер → шаблон, макет страницы, свои стили без сборщика.
  4. База данных, миграции и Eloquent — MariaDB вместо SQLite, свой пользователь БД, миграции и откаты, модель User, хеши паролей, сидер, пагинация.
  5. CRUD: добавить, изменить, удалить — ресурсные маршруты, формы, CSRF, валидация с русскими сообщениями, правка и удаление с подтверждением.
  6. Эксплуатация: ошибки, кэш, тесты, деплой — типичные 500 (права на storage, отсутствие APP_KEY), кэш конфигурации, упавший и починенный тест, чек-лист переноса на сервер.

Что понадобится на вашей машине

  • Linux Mint 22 (или Ubuntu 24.04) с настроенным стеком из блока Linux: nginx + PHP-FPM от вашего пользователя, MariaDB, зона .rs через dnsmasq.
  • PHP 8.3 с расширениями ctype curl dom fileinfo mbstring openssl pdo pdo_mysql sqlite3 tokenizer xml zip (проверка — в части 1).
  • Composer 2.7+ и около 100 МБ свободного места под проект.

Как пользоваться

  • Стрелки ← →, Space, PgUp/PgDn — листать; Home/End — в начало/конец.
  • O — обзор всех слайдов, T — светлая/тёмная тема, R — режим чтения (вся часть лентой, удобно печатать в PDF).
  • Клик по терминалу — показать вывод сразу; кнопка повтора в шапке терминала — проиграть анимацию заново. Клик по скриншоту — увеличить.
  • Позиция запоминается: можно закрыть и продолжить с того же слайда.

Терминалы в презентациях — не картинки: это настоящий вывод команд, снятый на стенде. Его можно выделять и копировать. Если вывод длинный, он свёрнут кнопкой «показать ещё».

Полные тексты захватов лежат рядом с презентациями: captures/commands/, captures/files/, captures/browser/. Исходный код итогового приложения — в app/ этого каталога.

Части

Управление

→ / Space / PgDnследующий слайд
← / PgUpпредыдущий слайд
Home / Endв начало и в конец
Oобзор всех слайдов
Tсветлая / тёмная тема
Rрежим чтения: лента и печать
#s12ссылка сразу на слайд 12
клик по снимкулайтбокс, ← → листают
клик по терминалупоказать вывод сразу
Laravel·7 част., 199 слайдовтема и позиция хранятся в localStorage