НАЧАЛО >> EventBus >> Руководство программиста EventBus📄 Скачать в DOCX
Модуль-источник публикует событие через UseModule('EventBus')->PublishEvent($eventData, $options). Минимальный набор данных: eventType, ownerModule, objectType, objectKey, traceId, payload, snapshot и idempotencyKey.
Тип события регистрируется через RegisterEventType(). Подписка регистрируется через RegisterSubscription() и описывает ключ, типы событий, фильтр, обработчик, канал и класс выполнения. BuildDeliveryPlan() возвращает dry-run план доставок без вызова обработчиков. DispatchDue() по умолчанию работает в режиме dryRun; явное выполнение обработчиков должно оставаться легким и идемпотентным, а тяжелая работа переносится в Queue.
Payload события должен быть JSON-совместимым и безопасным. В него нельзя помещать соединения с БД, PHP-объекты, файловые ресурсы, пароли, токены, cookie, подписи и полный текст закрытых доменных данных. Для доставки детального payload доменный модуль должен предоставить собственный безопасный resolver и актуально проверить права через Security.