MiddlewareInterface¶
Middleware — обёртка вокруг слушателя, как middleware в Slim и Laravel.
Получает событие и $next — продолжение цепочки: следующий middleware или сам слушатель. Может:
- сделать что-то до и после вызова (логирование, транзакция, замер времени);
- передать дальше изменённое событие:
$next($event->withAttribute(...)); - не вызывать
$nextи тем самым не дать событию дойти до слушателя.
Middleware навешиваются на маршруты и группы через ->add().
Как в Slim, добавленный последним выполняется первым.
final class EventLogger implements MiddlewareInterface
{
public function process(EventInterface $event, Closure $next): void
{
$this->logger->info('Событие ' . $event->getName());
$next($event);
}
}
- Full name:
\Selyusize\EventsRouter\Contract\Core\MiddlewareInterface
Methods¶
process¶
Обработать событие и, если нужно, передать его дальше по цепочке.
Parameters:
| Parameter | Type | Description |
|---|---|---|
$event |
\Selyusize\EventsRouter\Contract\Core\EventInterface | |
$next |
callable |