

В Laravel довольно легко написать консольную команду, внутри которой постепенно оказывается вся бизнес-логика: получение данных, обработка, запросы к API, запись в базу и логирование. Для небольшого скрипта это нормально. Но если задача растёт, удобнее разделить ответственность: Command отвечает за запуск,…

MCP (Model Context Protocol) — протокол, позволяющий AI-клиентам взаимодействовать с внешними приложениями через набор явно описанных инструментов. Для Laravel есть официальный пакет laravel/mcp, поэтому для создания собственного MCP-сервера не нужно самостоятельно реализовывать протокол и транспорт. Посмотрим, как это работает, на…

Работая с Laravel Eloquent, одна из самых частых проблем производительности — это N+1 запросов. Кроме того, правильное использование кэширования может значительно ускорить работу приложения. В этой статье мы разберём конкретные приёмы оптимизации с примерами кода. 1. Проблема N+1 N+1 запросов…

Иногда в приложении нужно выполнить несколько задач строго в определённом порядке.Например: Можно, конечно, собрать всё в один Job, но тогда код становится тяжёлым и плохо читается. Поэтому удобнее разбить процесс на несколько маленьких задач, но всё равно запускать их по…

В Laravel часто возникает необходимость отслеживать изменения моделей — кто что делал, когда были выполнены действия, и т.д. Один из простых и эффективных способов реализовать это — создать модель Activity Log, используя полиморфные связи…

В этой статье мы создадим одностраничное приложение (SPA) на Vue.js с бэкендом на Laravel. Разберём: ✅ Настройку Laravel Sanctum для аутентификации✅ Подключение Vue Router✅ Пример CRUD (создание, чтение, обновление, удаление) 1. Настройка проекта Установка Laravel и Vue Создадим новый проект…

API Gateway — это шаблон проектирования, который служит единой точкой входа для всех клиентских запросов к вашей системе микросервисов или модульному приложению. Вот как можно реализовать API Gateway в Laravel: 1. Установка и настройка базового проекта Создайте новый проект Laravel:…

Неблокирующий вывод в PHP позволяет отправлять данные клиенту без ожидания завершения выполнения всего скрипта. Это особенно полезно для длительных операций, когда вы хотите начать отправку данных как можно раньше. Основные методы неблокирующего вывода Особенности и рекомендации Неблокирующий вывод особенно полезен…

В PHP (и других языках программирования) классы с суффиксами Handler и Action часто используются для организации логики приложения. Они могут взаимодействовать друг с другом, и их использование часто связано с определенными паттернами проектирования. Давайте разберем, как они могут взаимодействовать и…

В этом руководстве мы создадим плагин для WordPress, который позволит авторизованным пользователям ставить лайки постам. Лайки будут храниться в отдельной таблице базы данных, а их количество будет отображаться на сайте. Мы используем AJAX для обработки лайков без перезагрузки страницы. Что…