
Полнотекстовый поиск в Laravel: как делать правильно
LIKE '%слово%' не масштабируется и не находит опечаток. Разбираем четыре подхода к поиску в Laravel: от MySQL FULLTEXT до Scout с Meilisearch — что выбрать под ваш объём данных и почему.

LIKE '%слово%' не масштабируется и не находит опечаток. Разбираем четыре подхода к поиску в Laravel: от MySQL FULLTEXT до Scout с Meilisearch — что выбрать под ваш объём данных и почему.

Как отдавать пользователю выгрузку из Laravel, чтобы 200 тысяч строк не уронили процесс по памяти и не заставили клиента ждать таймаута. Разбираем подходы maatwebsite/excel и когда от него отказаться.

Прямая интеграция с эквайрингом, готовый пакет вроде Laravel Cashier или сторонний биллинг — у каждого варианта своя цена в коде и в поддержке. Разбираем, что выбрать под разные задачи.

Провайдер отправил уведомление об оплате, а заказ так и не подтвердился. Разбираем, где Laravel-приложение теряет вебхуки под нагрузкой и как построить приём, который переживёт ретраи и дубли.

Строки в blade хардкодятся, ключи разъезжаются по файлам, а множественное число ломается на русском. Разбираем ошибки локализации в Laravel 11.x и как их чинить.

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

Тесты в Laravel часто дают ложное чувство защищённости: они зелёные, но не ловят регрессии, текут по базе и тормозят CI. Чек-лист того, что стоит проверить в тестах перед вливанием ветки.

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

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

API Resources в Laravel экономят десятки строк, но легко превращают один список в сотни запросов к базе. Разбираем, где ресурсы помогают, а где убивают производительность.

Gate::allows проверяет одно, метод контроллера — другое, а Blade показывает кнопку тому, кто не должен её видеть. Разбираем, как выстроить авторизацию в Laravel так, чтобы правила не расползались по проекту.

Планировщик Laravel запускается одной cron-строкой, но ломается на дублях, перекрытиях и молчаливо пропущенных задачах. Чек-лист того, что проверить до деплоя.