Ik ben bezig met het opzetten van een CommandBus in een Laravel project;
om de scheiding tussen U (Laravel)I & de app compleet te maken gebruik ik een eigen CommandBus (syncrhroon) welke redelijk simpel is.
Echter heb ik de wens om in mijn CommandBus een propertie te hebben met de geregistreerde Handlers van mijn commands.
Echter wens ik dit per module via mijn ServiceProviders te laten verlopen:
een var_dump van $commandBus geeft een netjes de binding aan; dat lijkt dus goed...
echter als ik nu het Command aanroep en execute krijg ik helaas de melding dat het Command niet geregisteerd staat bij de bewuste Handler
de check die ik doe in execute():
hier loop ik helaas een beetje vast
zodra ik in de controller __constractor() handmatig de hander binding maak, werkt het uiteraard wel ;-)
ik maak de fout in de OrderServiceProvider.php
wie schiet?
om de scheiding tussen U (Laravel)I & de app compleet te maken gebruik ik een eigen CommandBus (syncrhroon) welke redelijk simpel is.
Echter heb ik de wens om in mijn CommandBus een propertie te hebben met de geregistreerde Handlers van mijn commands.
PHP:
1
| $command->register('CommandoX', CommandXHandler::class); |
Echter wens ik dit per module via mijn ServiceProviders te laten verlopen:
PHP:
1
2
| // AppServiceProvider > register: $this->app->bind(CommandBusInterface::class, SynchronousCommandBus::class); |
PHP:
1
2
3
| // OrderServiceProvider > register $commandBus = $this->app->make(CommandBusInterface::class); $commandBus->register(CreateOrderCommand::class, $this->app->make(CreateOrderHandler::class)); |
een var_dump van $commandBus geeft een netjes de binding aan; dat lijkt dus goed...
echter als ik nu het Command aanroep en execute krijg ik helaas de melding dat het Command niet geregisteerd staat bij de bewuste Handler
de check die ik doe in execute():
PHP:
1
2
3
| if (! array_key_exists($commandName, $this->handlers)) { throw InvalidCommandException::byHandler($commandName); } |
hier loop ik helaas een beetje vast
zodra ik in de controller __constractor() handmatig de hander binding maak, werkt het uiteraard wel ;-)
ik maak de fout in de OrderServiceProvider.php
wie schiet?
12,85kWp - ZB 7,5m2/400l - 5kW Pana H WP (CV&SWW) - 13,8kWh accu