hellofresh / tactician-service-provider
此包已被废弃且不再维护。未建议替代包。
Silex tactician 服务提供者
v2.1.1
2016-06-20 16:31 UTC
Requires
- php: >=5.5.9
- league/tactician: ~1.0
- silex/silex: ~2.0
This package is not auto-updated.
Last update: 2023-10-10 17:39:38 UTC
README
为 Pimple 或 Silex 容器提供 Tactician 作为服务
要求
- PHP >= 5.5
- Silex >= 2.0
- Pimple >= 3.0
安装
composer require jowy/tactician-service-provider
用法
注册 tactician 服务提供者
$app->register( new TacticianServiceProvider( [ 'tactician.inflector' => 'class_name', 'tactician.middleware' => [ new LockingMiddleware() ] ] ) );
在 DIC 中注册命令处理器
处理器必须注册到容器中,并使用 FQCN
作为服务 ID
$app[HandlerClass::class] = function() { return new HandlerClass(); };
映射命令和处理程序
在 tactician 命令总线服务提供者注册后,您可以映射命令和处理程序
$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
有关选择 Inflector
的更多信息,请参阅 此文档
中间件
在注册 tactician 服务时可以添加中间件。
$app->register( new TacticianServiceProvider( [ 'tactician.inflector' => 'class_name', 'tactician.middleware' => [ new LockingMiddleware(), new SomeMiddleware(), new OtherMiddleware() ] ] ) );
可以通过使用此方法实现中间件的延迟初始化
$app[LockingMiddleware::class] = function () { return new LockingMiddleware(); }; $app->register( new TacticianServiceProvider( [ 'tactician.inflector' => 'class_name', 'tactician.middleware' => [ LockingMiddleware::class; ] ] ) );
许可协议
MIT,请参阅 LICENSE