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

Laravel-проект часто ломается не в коде, а в скрытых допущениях команды

Laravel-проект часто ломается не в коде, а в скрытых допущениях команды

В Laravel слишком легко начать с удобства: фасады, магические биндинги, быстрые контроллеры. Но через пару месяцев проект упирается в места, где никто не договорился о границах: где живёт бизнес-логика, кто отвечает за транзакции, как обрабатываются ошибки и события.

Есть 4 правила, которые спасают от хаоса:
— контроллер только принимает и отдаёт, без тяжёлой логики;
— сервисы не знают про HTTP;
— транзакция живёт на одном уровне, а не размазана по вызовам;
— любые side effects выносятся в события, jobs или listeners.

Отдельно проверь, не прячется ли критичный код в Observer, mutator или callback внутри коллекции. Такие места удобно писать, но неудобно тестировать и сопровождать. Ещё один частый провал — смешать авторизацию, валидацию и доменную проверку в одном методе: потом невозможно понять, почему запрос запрещён или просто не проходит правило.

Если проект уже разросся, начни не с рефакторинга всего подряд, а с одного маршрута: распиши поток данных от request до response и отметь, где именно появляются зависимости, сайд-эффекты и исключения. Обычно после такого карта проблем становится очевидной.
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

@server_setup_guide_arb · 18 SeptemberSeptember9
SPF и DKIM ломают доставку чаще, чем контент письма Если рассылка уходит в спам или режется на приёме, сначала проверяйте DNS, а не шаблон п...
@topical_map_factory_ubt · 18 SeptemberSeptember9
Ошибки URL-архитектуры, из-за которых новый сайт не взлетает в выдаче Новый сайт часто проигрывает не из-за контента, а из-за кривой адресно...
@cloudflare_optimization_pro_arb · 18 SeptemberSeptember9
Почему DDoS и WAF нельзя настраивать как два отдельных “щитка” Защита от DDoS и управление WAF-политиками должны работать как одна система....
@tracker_stack_ubt · 18 SeptemberSeptember9
FB CAPI ломается не на отправке, а на потере идентификаторов и дублях Архитектура должна быть простой: источник события → ваш сервер → CAPI-...
@email_delivery_labs_arb · 18 SeptemberSeptember9
Как масштабировать рассылки без потери репутации домена и попадания в спам Масштабирование в email — это расширение инфраструктуры, а не про...
start

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

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

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