Simple project in PHP v8.3.6
Дока кода - вся на английском!
Здесь простой роутинг — смотри файл composer.json для большего понимания и загружаемых модулей.
Довольно просто составлена реализация миграций. Для простоты, но существует множество способов её реализации. Я сделаю автоматизацию, хотя было бы лучше, если бы это была команда в командной строке.
-
docker compose run --rm composer install - выполнение всего
-
npm i - установка пакетов
-
(если у тебя linux) Находясь в корне репозитория: sudo chmod +x init.sh
-
запуск докер контейнеров docker compose up -d --build
-
docker compose exec db bash - импортировать дамп в ручную(один раз)
внутри контейнера - пиши это mysql -u root -proot hastle < /docker-entrypoint-initdb.d/db_backup.sql exit
- проверка - docker compose exec db mysql -u root -proot
====
-
ну если нужно остановить все контейнеры docker compose down
-
очистка бд - если нужно пересоздать дамп docker compose down -v
Файл, контролирующий миграции, находится в директории Core. Он создаёт таблицу, которая следит за миграциями и создаёт таблицы, если их нет.
За таблицу миграций отвечает метод createMigrationTable(). Всё остальное, я думаю, интуитивно понятно.
Для создания таблиц посмотри в routes.php стоку 'db/generate' выполни его и готово
Мне было лень создавать отдельные классы для тестирования поскольку проект не большой, я решил нецелесообразно делать много всяких тестКонтроллеров.(и все ровно сделал XD)
Да, конечно, в проекте много пробелов, но я попытался создать основу и продолжаю развивать его каждый день. Главное — это суть проекта с концепцией и архитектурой.
-
У нас есть Контроллер в него мы передаем туда данные с хелперами пользуясь какими то http протоколами
-
У нас есть ресурс\модель - там мы делегируем разные задачи, хелпер валидации, хелпер по работе с изображением (TestResource) Также там есть проверки ответы [json] и исключения Там также вызываются сервисы.
-
Сервисы работаю с манипуляциями данных, запись или получению данных к примеру.
Здесь есть сиды для заполненя бд данными. команда: php cli/seed.php --count=100000 создать нужное колличество данных
находясь в директории App выполни cli command php /bin/backup.php
