InMemoryEventSource¶
Очередь событий в памяти — для тестов и простых сценариев.
События, добавленные через push() во время обработки, тоже будут разосланы:
слушатель может положить в очередь следующее событие, и run() его обработает.
$source = new InMemoryEventSource(new Event('order.created'), new Event('order.42.paid'));
$events->run($source); // 2
- Full name:
\Selyusize\EventsRouter\Source\InMemoryEventSource - This class is marked as final and can't be subclassed
- This class implements:
\Selyusize\EventsRouter\Contract\Source\EventSourceInterface - This class is a Final class
Methods¶
__construct¶
Parameters:
| Parameter | Type | Description |
|---|---|---|
$events |
\Selyusize\EventsRouter\Contract\Core\EventInterface |
push¶
Добавить событие в конец очереди.
Parameters:
| Parameter | Type | Description |
|---|---|---|
$event |
\Selyusize\EventsRouter\Contract\Core\EventInterface |
count¶
Сколько событий ещё ждёт обработки.
events¶
Отдаёт события по одному и убирает их из очереди, пока очередь не опустеет.