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

RouteCollectorInterface

То, на чём объявляют маршруты: сам роутер и любая группа.

Аналог RouteCollectorProxy в Slim: listen() вместо get()/post() и group() для общих префикса и middleware. Удобен как тип для своих помощников, которые объявляют маршруты и на роутере, и в группе.


  • Full name: \Selyusize\EventsRouter\Contract\Routing\RouteCollectorInterface

Methods

listen

Повесить одного слушателя на шаблон топика.

public listen(string $pattern, class-string<\Selyusize\EventsRouter\Contract\Core\ListenerInterface> $listener): \Selyusize\EventsRouter\Contract\Routing\RouteInterface

Несколько слушателей на одно событие — несколько вызовов listen(). Вызываются они строго в порядке объявления, приоритетов нет.

Если шаблон вместе с префиксами групп записан с ошибкой — InvalidTopicPattern. Если класс слушателя не найден или не реализует ListenerInterface — InvalidRoute.

Parameters:

Parameter Type Description
$pattern string шаблон относительно префикса группы; в группе может быть пустым
$listener class-string<\Selyusize\EventsRouter\Contract\Core\ListenerInterface>

group

Группа маршрутов с общим префиксом и общими middleware.

public group(string $prefix, callable $routes): \Selyusize\EventsRouter\Contract\Routing\RouteGroupInterface

Пустой префикс — группа только ради общих middleware.

Parameters:

Parameter Type Description
$prefix string
$routes callable