Event¶
Событие со строковым именем — когда отдельный класс события не нужен.
Имя — конкретный топик: непустые сегменты через точку, без пробелов
и без символов шаблонов *, #, {, }. Регистр сохраняется:
bitrix.main.OnAfterUserAdd и bitrix.main.onafteruseradd — разные события.
Атрибуты неизменяемы: withAttribute() возвращает копию. Payload не копируется:
если это объект, все копии события ссылаются на один и тот же объект.
- Full name:
\Selyusize\EventsRouter\Event - This class is marked as final and can't be subclassed
- This class implements:
\Selyusize\EventsRouter\Contract\Core\EventInterface - This class is a Final class
Methods¶
__construct¶
public __construct(string $name, \Selyusize\EventsRouter\TPayload $payload = null, array<non-empty-string,mixed> $attributes = []): mixed
Parameters:
| Parameter | Type | Description |
|---|---|---|
$name |
string | топик из сегментов через точку, например shop.order.42.paid |
$payload |
\Selyusize\EventsRouter\TPayload | данные события |
$attributes |
array |
начальные атрибуты |
Throws:
если имя не является корректным топиком
- InvalidEventName
getName¶
Имя события — топик из сегментов через точку.
getPayload¶
Данные события: массив, DTO или любой другой объект.
getAttributes¶
Все атрибуты: параметры из шаблона маршрута и то, что добавили middleware.
getAttribute¶
Значение атрибута или $default, если атрибута нет.
Parameters:
| Parameter | Type | Description |
|---|---|---|
$name |
string | |
$default |
mixed |
withAttribute¶
Копия события с добавленным или заменённым атрибутом.
Parameters:
| Parameter | Type | Description |
|---|---|---|
$name |
string | |
$value |
mixed |