Provides Tactician as service to Pimple or Silex Container
- PHP >= 5.5
- Silex >= 2.0
- Pimple >= 3.0
composer require jowy/tactician-service-provider
$app->register(
new TacticianServiceProvider(
[
'tactician.inflector' => 'class_name',
'tactician.middleware' =>
[
new LockingMiddleware()
]
]
)
);
Handler must registered in container and use FQCN
as service id
$app[HandlerClass::class] = function() {
return new HandlerClass();
};
after tactician commadn bus service provider registered, you can map command and handler
$app['tactician.locator']->addHandler(CommandClass::class, HandlerClass::class);
$command = new CommandClass('param');
$container['tactician.command_bus']->handle($command)
- class_name
- class_name_without_suffix
- handle
- invoke
For more information for choosing Inflector
please refer to this documentation
Middleware can be added while tactician service registered was registered.
$app->register(
new TacticianServiceProvider(
[
'tactician.inflector' => 'class_name',
'tactician.middleware' =>
[
new LockingMiddleware(),
new SomeMiddleware(),
new OtherMiddleware()
]
]
)
);
Optionally lazy initialization for middleware is possible by using this method
$app[LockingMiddleware::class] = function () {
return new LockingMiddleware();
};
$app->register(
new TacticianServiceProvider(
[
'tactician.inflector' => 'class_name',
'tactician.middleware' =>
[
LockingMiddleware::class
]
]
)
);
MIT, see LICENSE