Минималистичная схема Action и Use Case в PHP: общий сценарий приложения разделяет логику на сервисы, работу с базой данных, доменные правила и внешние операции.

В PHP-проектах часто используют классы под конкретные сценарии приложения. Где-то их называют Action, где-то UseCase, где-то ApplicationService, где-то CommandHandler. Названия разные, но идея одна: отдельный класс описывает конкретное…

Иллюстрация к статье про исключения в PHP и Laravel: обработка ошибок, бизнес-логика, архитектурные слои, API-ответы и безопасное логирование.

Исключения в PHP часто воспринимают слишком узко: как способ “поймать ошибку” через try/catch. Из-за этого в проектах появляются две крайности. Первая — исключения почти не используют. Методы возвращают…

Девушка размышляет над выбором real-time решения для Laravel, вокруг неё в пузырьках показаны альтернативы Centrifugo: Laravel Reverb, Pusher Channels, Ably, Socket.IO, SSE, Polling и Redis Pub/Sub.

Centrifugo — сильное решение для real-time систем. Особенно когда нужен отдельный WebSocket-слой, приватные каналы, публикация событий из backend-а, масштабирование и независимость от конкретного фреймворка. Но Centrifugo не единственный…

схема публикации real-time событий из Laravel в Centrifugo через Events, listeners и queue jobs

Real-time в Laravel-проекте не должен начинаться с прямого HTTP-запроса к Centrifugo из контроллера. Это быстрый путь к связанному коду, нестабильной архитектуре и ошибкам синхронизации между frontend и backend….

Схема каналов и авторизации в Centrifugo для безопасных real-time подписок в Laravel

В предыдущей статье мы разобрали архитектуру Laravel + Centrifugo: Laravel отвечает за бизнес-логику, права доступа и события, Centrifugo — за WebSocket-соединения, каналы и доставку сообщений, а frontend —…

Схема архитектуры Laravel и Centrifugo для real-time обновлений через WebSocket

В первой части мы разобрались, что Real-time на Laravel-сайте нужен там, где интерфейс должен получать изменения без перезагрузки страницы: новые уведомления, смену статуса заказа, сообщения в чате, обновления…

Схема real-time архитектуры сайта с использованием Laravel, Centrifugo и WebSocket

Большинство web-приложений исторически строится вокруг простой и надёжной модели: пользователь отправляет запрос, сервер его обрабатывает и возвращает ответ. Эта схема лежит в основе классического HTTP-взаимодействия и отлично подходит…

Схема агрегата Order в DDD с границами консистентности, Aggregate Root, объектами OrderItem, OrderStatus и Money, связанными с Customer и Product по ID.

Агрегаты в Domain-Driven Design часто понимают неправильно. Разработчик видит таблицы orders, order_items, products, users, переносит эти связи в объектную модель один к одному и считает, что теперь у…

📘 Введение Domain-Driven Design (DDD) — это не просто набор паттернов, а стратегический подход к проектированию сложных бизнес-приложений. Он помогает выстроить систему вокруг предметной области, а не технических…