StrategyInterface
public function handlerMethod(MessageInterface $message): string;
The single authority for choosing the handler method name. MessageHandlerMiddleware depends only on
this interface and never knows which concrete strategy is wired.
Strategy\HandleStrategy
The default. Returns 'handle', so handle-based handlers keep working.
Strategy\ClassnameStrategy
Opt-in. Inflects the message's short class name with lcfirst: App\Command\CreateUser becomes
createUser.
Wiring
The default ConfigProvider aliases StrategyInterface to HandleStrategy. Opt into named methods by
changing that alias:
use Webware\MessageBus\Strategy\ClassnameStrategy;
use Webware\MessageBus\StrategyInterface;
return [
'dependencies' => [
'aliases' => [
StrategyInterface::class => ClassnameStrategy::class,
],
],
];