MessageSubscriberInterface
interface MessageSubscriberInterface implements MessageHandlerInterface
Handlers can implement this interface to handle multiple messages.
Methods
static iterable
getHandledMessages()
Returns a list of messages to be handled.
Details
static iterable
getHandledMessages()
Returns a list of messages to be handled.
It returns a list of messages like in the following example:
yield MyMessage::class;
It can also change the priority per classes.
yield FirstMessage::class => ['priority' => 0];
yield SecondMessage::class => ['priority => -10];
It can also specify a method, a priority and/or a bus per message:
yield FirstMessage::class => ['method' => 'firstMessageMethod'];
yield SecondMessage::class => [
'method' => 'secondMessageMethod',
'priority' => 20,
'bus' => 'my_bus_name',
];
The benefit of using yield
instead of returning an array is that you can yield
multiple times the
same key and therefore subscribe to the same message multiple times with different options.
The __invoke
method of the handler will be called as usual with the message to handle.