Как отправить письмо после регистрации пользователя

В одном из моих проектов было требование отправить приветственное письмо после регистрации пользователя. Я начал гуглить и наткнулся на почтовый клиент Sendgrid. Для его...

Четыре способа передать данные из Laravel в Vue

Я работаю над проектами с Vue и Laravel последние два-три года. И в начале каждого я спрашиваю себя: «Как я собираюсь передать данные из...

Организация маршрутов в отдельных файлах

Я расскажу вам об основных рекомендациях по организации файлов маршрутов, что бы вы не забывали что и где находится. Простые приложения могут использовать файлы routes/web.php...

Уменьшаем сложность кода с помощью гвардов

Гвард (guard)— это фрагмент кода в верхней части функции или метода, который делает return, если выполняется некоторое предварительное условие. Я считаю, что правильное их...

Использование хелперов для моделей

Статья о том, как я отказался от философии, которой придерживался много лет — пустые классы моделей Eloquent. Я объясню причины, а также прокомментирую пару...

Пользовательские настройки в приложении

Сегодня поговорим о добавлении настроек на уровне пользователя. Есть несколько способов сделать это и мы сначала рассмотрим их, а потом перейдем к выбору, который...

Livewire и Laravel. Делаем интерактивный поиск.

В этой статье я расскажу вам как сделать полностью интерактивный поиск и пагинацию результатов без строчки Javascript. Если вы смотрели Laracon 2019, то, возможно, видели...

Настраиваем Elasticsearch в Laravel

Поиск — важная часть приложения, и некоторые его пропускают, считая простой задачей. «Да просто добавлю несколько LIKE и готово!». И, хотя LIKE на самом...

Расчет итоговых значений с использованием условных агрегаций

Недавно меня спросили, как наиболее эффективно рассчитать несколько итоговых значений (aggregates) в Laravel. Например,у вас есть служба подписки по электронной почте и вы хотите...

Автономная навигация. Привязываем данные к шаблону и кэшируем.

Задача: вывести на каждой странице сайта навигацию в трёх местах (шапка, подвал и мобильная версия). Можно по старинке, перед выводом страницы готовить навигацию вместе...