5 мест в Laravel, где тихо ломается прод и почему это не баг фреймворка
Маршруты, кэш и окружение обычно проверяют первым делом, но самые неприятные падения приходят из соседних слоёв: конфиг собран не теми переменными, очередь живёт на одном коде, а web — на другом, а hidden state прячется в singleton'ах и статике. Laravel это не запрещает, он просто не спасает от архитектурной лени.
— Не держите бизнес-состояние в сервисах-одиночках: в long-running процессе оно переживает запрос.
— Не смешивайте доступ к БД и внешним API в одном action: ретраи и таймауты начнут конфликтовать.
— Не полагайтесь на .env в runtime: часть значений должна приезжать в config, иначе кэш вас удивит.
Отдельно проверьте jobs, events и listeners: они должны быть идемпотентными, иначе повторная доставка превращается в двойной списание, дубль письма или повторный webhook. Тестируйте не happy path, а повторный запуск, частичный фейл и падение посередине цепочки. 🧪
Если есть одна привычка, которая экономит часы дебага, то это правило: любой код, который может выполниться дважды, обязан пережить это без побочных эффектов.
Laravel & PHP Deep — фреймворки и пакеты
@laravel_php_deep
5 мест в Laravel, где тихо ломается прод и почему это не баг фреймворка
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.