Перейти к содержанию

Справочник API

events-router API

This is an automatically generated documentation for events-router API.

Namespaces

\Selyusize\EventsRouter

Classes

Class Description
Documentation Ссылки на сайт документации.
Event Событие со строковым именем — когда отдельный класс события не нужен.
EventRouter Роутер событий — аналог Slim\App. Создаётся через EventRouterFactory.
EventRouterFactory Создаёт роутер — аналог AppFactory в Slim. Единственное место,
где части роутера создаются и связываются друг с другом.

\Selyusize\EventsRouter\Bitrix

Classes

Class Description
BitrixEvent Событие Bitrix — payload события роутера, которое пришло через BitrixEventBridge.
BitrixEventBridge Мост от EventManager Bitrix к роутеру: события Bitrix приходят в слушателей
из файла маршрутов, как любые другие.

\Selyusize\EventsRouter\Container

Classes

Class Description
Container Контейнер роутера — статический фасад над PSR-11, как Rasa\Container\Container
в стартовой архитектуре.

\Selyusize\EventsRouter\Contract\Core

Interfaces

Interface Description
EventInterface Событие: имя-топик, данные и атрибуты.
ListenerInterface Слушатель события — аналог Action в Slim.
MiddlewareInterface Middleware — обёртка вокруг слушателя, как middleware в Slim и Laravel.

\Selyusize\EventsRouter\Contract\Error

Interfaces

Interface Description
ErrorHandlerInterface Что делать с ошибкой слушателя: записать в лог, отправить в мониторинг и т. п.

\Selyusize\EventsRouter\Contract\Exception

Interfaces

Interface Description
ExceptionInterface Общий интерфейс всех исключений библиотеки.

\Selyusize\EventsRouter\Contract\Routing

Interfaces

Interface Description
RouteCollectorInterface То, на чём объявляют маршруты: сам роутер и любая группа.
RouteGroupInterface Группа маршрутов: то, что получает замыкание в group().
RouteInterface Маршрут: то, что возвращает listen().

\Selyusize\EventsRouter\Contract\Source

Interfaces

Interface Description
EventSourceInterface Источник событий для воркера: очередь, вебхук, файл, память.

\Selyusize\EventsRouter\Dispatch

Classes

Class Description
DispatchReport Отчёт о рассылке события: кто из слушателей отработал, кто упал, кто не был вызван.
ListenerReport Отчёт об одном слушателе: какой маршрут сработал, с каким событием,
чем закончилось и сколько заняло времени вместе с middleware.

\Selyusize\EventsRouter\Exception

Classes

Class Description
InvalidConfig В EventRouterFactory::create() передан неверный конфиг: неизвестный ключ или значение не того типа.
InvalidEventName Имя события не является корректным топиком.
InvalidRoute Маршрут объявлен с ошибкой: класс слушателя или middleware не найден
или не реализует нужный интерфейс.
InvalidTopicPattern Шаблон топика в маршруте записан с ошибкой.
UnmappableEvent В PSR-14 адаптер передан объект, для которого неизвестно имя события:
он не реализует EventInterface, а функция-маппер не задана.

\Selyusize\EventsRouter\Locale

Classes

Class Description
Messages Сообщения библиотеки на выбранном языке.

\Selyusize\EventsRouter\Psr14

Classes

Class Description
Psr14EventDispatcher Роутер под стандартным интерфейсом PSR-14 — для кода и библиотек,
которые знают только Psr\EventDispatcher\EventDispatcherInterface.

\Selyusize\EventsRouter\Routing

Classes

Class Description
CompiledRoute Собранный маршрут из таблицы: полный шаблон, слушатель и все его middleware.
Route Маршрут: то, что возвращает listen(), — как Route в Slim.
RouteGroup Группа маршрутов: общий префикс топика и общие middleware.
RouteMatch Найденный маршрут и параметры, извлечённые из топика по его шаблону.
RouteTable Таблица собранных маршрутов в порядке объявления. Неизменяемая.

\Selyusize\EventsRouter\Service\Error

Classes

Class Description
FailureFormatter Текст ошибки слушателя в одну строку: слушатель, событие, класс исключения, сообщение, место.
PsrLoggerErrorHandler Запись ошибок слушателей в PSR-3 логгер.

\Selyusize\EventsRouter\Service\Log

Classes

Class Description
FileLogger PSR-3 логгер в файл: одна запись — одна строка.

\Selyusize\EventsRouter\Source

Classes

Class Description
InMemoryEventSource Очередь событий в памяти — для тестов и простых сценариев.

\Selyusize\EventsRouter\Topic

Classes

Class Description
TopicPattern Шаблон топика — то, что пишется в маршруте вместо точного имени события.