Архитектура Laravel приложений
Структура проекта
Мы используем стандартную структуру Laravel с дополнительными слоями: Services, Actions, DTOs. Бизнес-логика выносится из контроллеров в сервисы.
Service Layer
Каждая доменная область имеет свой сервис. Сервисы инжектируются через конструктор контроллера. Один метод сервиса = одна бизнес-операция.
API Resources
Для трансформации данных используются API Resources. Каждая модель имеет минимум два ресурса: полный и краткий (Short).
Валидация
Используйте Form Requests для валидации входных данных. Правила валидации должны быть максимально строгими.
Тестирование
Покрытие тестами не менее 80%. Feature тесты для API endpoints, Unit тесты для сервисов и Actions.