<b>5 ошибок в Laravel, из-за которых проект медленно деградирует и дорожает в поддержке</b>
Чаще всего Laravel не «ломается» — его постепенно делают неудобным. И это видно не в роуте или контроллере, а в мелочах, которые потом превращаются в техдолг.
— Логика уезжает в контроллеры. В итоге один метод знает про валидацию, оплату, уведомления и побочные эффекты. Лучше выносить сценарий в сервис, action или job, а контроллер оставить тонким.
— Модели начинают жить как свалка. Accessors, мутаторы, запросы, бизнес-правила и форматирование в одном месте — плохой знак. Модель должна быть про состояние и связи, а не про весь продукт.
— Запросы пишутся «как получилось». Без eager loading, без scope, без индексов, с N+1 в циклах. На маленьком объёме это не видно, на живом трафике — уже боль.
— Валидация размазана по коду. Часть в контроллере, часть в модели, часть в JavaScript. Потом никто не может быстро понять, где у запроса настоящий контракт.
— Очереди и события используются как магия, а не как граница ответственности. Если job зависит от неявного состояния или event вызывает слишком много сайд-эффектов, отладка быстро становится лотереей.
Есть наблюдение которое стоит проверить: если новый разработчик не может за 15 минут понять, где заканчивается HTTP-слой и начинается бизнес-логика, архитектура уже расползается.
Держите контроллеры тонкими, а сценарии — явными. Тогда Laravel остаётся быстрым не только на запросе, но и в сопровождении.
Laravel & PHP Deep — фреймворки и пакеты
@laravel_php_deep
<b>5 ошибок в Laravel, из-за которых проект медленно деградирует и дорожает в поддержке</b>
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.