
Гейты и политики в Laravel: где ломается авторизация
Gate::allows возвращает true для гостя, политика не подхватывается, а before() открывает всё админу. Разбираем, как устроена авторизация в Laravel и где она даёт сбой на живом проекте.

Gate::allows возвращает true для гостя, политика не подхватывается, а before() открывает всё админу. Разбираем, как устроена авторизация в Laravel и где она даёт сбой на живом проекте.

Как устроен конвейер middleware в Laravel 11, чем группа отличается от алиаса, где регистрируется свой посредник и почему порядок в стеке решает исход запроса.

Как правильно готовить schedule в Laravel 11: защита от наложения задач, блокировка на нескольких серверах, вывод в лог и защита от тихого падения. Разбор приёмов, которые спасают в проде.

Один cron-вызов раз в минуту вместо десятка записей в crontab. Разбираем, как настроить планировщик Laravel так, чтобы задачи не наслаивались, не падали молча и переживали деплой.

Задача помечена каждую минуту, а запускается раз в час. Или дублируется на двух серверах. Разбираем, почему scheduler в Laravel ведёт себя не так, как написано в коде, и как это чинить.

Массивы загружают весь результат в память, Iterator требует больше кода, а Generator отдаёт значения по одному. Сравниваем три подхода в PHP 8.3+ и разбираем, где yield ускоряет обработку, а где только усложняет код.

Разбираем, чем отличаются database, Redis и SQS в очередях Laravel, как считать число воркеров и почему задачи иногда обрабатываются дважды.

Регистрация пользователя тянет за собой письмо, запись в CRM и уведомление в Slack. Разбираем, когда выносить это в события Laravel, когда в очередь, а когда события только мешают.

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

Регистрация пользователя тормозит на отправке письма, а логика заказа расползлась по контроллеру. Разбираем, когда события в Laravel решают проблему, а когда только добавляют слоёв.

Один цикл по коллекции моделей превращается в сотни запросов к базе. Разбираем, почему Eloquent делает это по умолчанию и как загружать связи так, чтобы страница не тормозила.

Один запрос на список превращается в сотни на связанные модели. Разбираем, откуда берётся N+1 в Eloquent, как его увидеть и какие способы загрузки связей выбирать.