<b>Laravel ломается не в роуте, а в границах: 5 мест, где проект тихо деградирует</b>
За неделю в репах чаще всего видно одно и то же: контроллеры разрастаются, модели начинают знать о внешних сервисах, а бизнес-правила размазываются по FormRequest, Observer и Job. Потом любой рефакторинг превращается в риск.
Держите границы жёстко:
— контроллер только принимает и возвращает
— доменная логика не живёт в view и helper
— интеграции с API, очередями и почтой выносите в отдельные сервисы
— Eloquent используйте как слой доступа к данным, а не как место для сценариев
— не плодите глобальные фасады там, где нужен явный контракт
Второй частый провал — слабая тестируемость. Если код нельзя поднять без базы, очереди и внешнего HTTP, значит зависимостям дали слишком много власти. На практике лучше сразу разделять: сервисы инжектятся, мокается транспорт, а критичные правила проверяются юнит-тестами, не только feature-тестами.
И ещё одно наблюдение которое стоит проверить: если вам трудно объяснить, где у объекта ответственность, значит архитектура уже просит границы. Чем раньше вы выделите сервисы, actions и репозитории, тем дешевле будет любое изменение.
Если проект растёт, не лечите его «ещё одним trait» — сначала режьте связность, потом добавляйте абстракции.
Laravel & PHP Deep — фреймворки и пакеты
@laravel_php_deep
<b>Laravel ломается не в роуте, а в границах: 5 мест, где проект тихо деградирует</b>
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.