Laravel & PHP Deep — фреймворки и пакеты

<b>Laravel ломается не в роуте, а в границах: 5 мест, где проект тихо деградирует</b>

<b>Laravel ломается не в роуте, а в границах: 5 мест, где проект тихо деградирует</b>

За неделю в репах чаще всего видно одно и то же: контроллеры разрастаются, модели начинают знать о внешних сервисах, а бизнес-правила размазываются по FormRequest, Observer и Job. Потом любой рефакторинг превращается в риск.

Держите границы жёстко:
— контроллер только принимает и возвращает
— доменная логика не живёт в view и helper
— интеграции с API, очередями и почтой выносите в отдельные сервисы
— Eloquent используйте как слой доступа к данным, а не как место для сценариев
— не плодите глобальные фасады там, где нужен явный контракт

Второй частый провал — слабая тестируемость. Если код нельзя поднять без базы, очереди и внешнего HTTP, значит зависимостям дали слишком много власти. На практике лучше сразу разделять: сервисы инжектятся, мокается транспорт, а критичные правила проверяются юнит-тестами, не только feature-тестами.

И ещё одно наблюдение которое стоит проверить: если вам трудно объяснить, где у объекта ответственность, значит архитектура уже просит границы. Чем раньше вы выделите сервисы, actions и репозитории, тем дешевле будет любое изменение.

Если проект растёт, не лечите его «ещё одним trait» — сначала режьте связность, потом добавляйте абстракции.
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.
start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @dumay. Быстрый тест: $20 за канал, $1000 за пакет по сети.