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 |