Маршруты живут рядом с ресурсом
LaraBoom находит Path-классы по атрибутам. Папки host routes, которую надо синхронизировать, нет. JSON живёт под /api.
В host-приложении нет routes/, нет app/Http, нет верхнего Services. Новости держат ресурс, Service и классы статей в Resources/News. Auth так же, в Routes/Auth. Фича читается сверху вниз в одной папке. Это правило, чтобы маленькое портфолио не вырастило второй фреймворк внутри первого.
Хранение картинок, нормализация и seed-строки ушли из тел маршрутов. Метод маршрута читается как валидация, вызов сервиса, возврат ресурса. Два одинаковых нормализатора картинок стали видны и слились.
Discovery
Пакет сканирует Resources и Routes, читает атрибуты и регистрирует пути при загрузке. Класс это один путь. Имя метода это verb. Когда маршрут не появлялся, причина была одной из трёх: namespace не совпал с папкой, атрибут забыт, либо кэш маршрутов от прежней сборки.
В проде работает route cache. Его надо сбрасывать при деплое, иначе новые пути остаются невидимыми. На таком объёме сканирование нормально. Время загрузки это число, за которым следить по мере роста ресурсов.
Сиды как спецификация
Каждая seed-строка несёт en, ru и de. Это поймало форму, которая сохраняла только активную локаль. Ещё это гоняет сетку: короткие заголовки, длинные, фото, каждый размер плитки. Пустая локаль в сиде это падение теста.
Когда файл Service вырос больше экрана HTML сидов, статьи уехали в News/Articles. Файл ресурса остался маленьким. Так уже вышло здесь.
