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.
Части
- Зачем фреймворк, Composer и установка Laravel —
что болит в «чистом PHP», пакетный менеджер Composer, автозагрузка,
composer create-project, что и куда установилось. - Структура проекта, первый запрос и nginx —
из чего состоит приложение, точка входа, первый маршрут и шаблон Blade,
vhost в nginx с зоной
.rs(root вpublic,try_files), жизненный цикл запроса. - Контроллеры, Blade и список пользователей из массива — маршрут → контроллер → шаблон, макет страницы, свои стили без сборщика.
- База данных, миграции и Eloquent — MariaDB вместо SQLite, свой пользователь БД, миграции и откаты, модель User, хеши паролей, сидер, пагинация.
- CRUD: добавить, изменить, удалить — ресурсные маршруты, формы, CSRF, валидация с русскими сообщениями, правка и удаление с подтверждением.
- Эксплуатация: ошибки, кэш, тесты, деплой — типичные 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/ этого каталога.