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

<b>5 ошибок в Laravel, из-за которых проект медленно деградирует и дорожает в поддержке</b>

<b>5 ошибок в Laravel, из-за которых проект медленно деградирует и дорожает в поддержке</b>

Чаще всего Laravel не «ломается» — его постепенно делают неудобным. И это видно не в роуте или контроллере, а в мелочах, которые потом превращаются в техдолг.

— Логика уезжает в контроллеры. В итоге один метод знает про валидацию, оплату, уведомления и побочные эффекты. Лучше выносить сценарий в сервис, action или job, а контроллер оставить тонким.

— Модели начинают жить как свалка. Accessors, мутаторы, запросы, бизнес-правила и форматирование в одном месте — плохой знак. Модель должна быть про состояние и связи, а не про весь продукт.

— Запросы пишутся «как получилось». Без eager loading, без scope, без индексов, с N+1 в циклах. На маленьком объёме это не видно, на живом трафике — уже боль.

— Валидация размазана по коду. Часть в контроллере, часть в модели, часть в JavaScript. Потом никто не может быстро понять, где у запроса настоящий контракт.

— Очереди и события используются как магия, а не как граница ответственности. Если job зависит от неявного состояния или event вызывает слишком много сайд-эффектов, отладка быстро становится лотереей.

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

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

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

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

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