yawa20 / registry-bundle
注册包,便于轻松实现注册模式
5.0.0
2019-12-04 14:47 UTC
Requires
- php: >=7.3
- symfony/config: ^4.3|^5.0
- symfony/dependency-injection: ^4.3|^5.0
- symfony/http-kernel: ^4.3|^5.0
README
任何注册应该实现 Yawa20\RegistryBundle\Registry\RegistryInterface
基本实现可以在 Yawa20\RegistryBundle\Registry\SimpleRegistry 中找到
services:
my_custrom_registry:
class: Yawa20\RegistryBundle\Registry\SimpleRegistry
在定义的注册中注册项目
services:
my_custrom_item:
class: Class\Of\My\Item
tags:
- {name: 'app.registry.item', registry:'my_custrom_registry' }
任何项目都应该实现 Yawa20\RegistryBundle\Registrable\RegistrableInterface
默认情况下,注册接受任何 RegistrableInterface 的项目。
如果您想定义另一个,只需将其设置为注册的参数即可
services:
my_custrom_registry:
class: Yawa20\RegistryBundle\Registry\SimpleRegistry
arguments:
- 'MyCustomInterface'
或者,如果您想使用自动装配,只需为您可注册的服务添加标签即可
App\MyRegistrableServices\:
resource: '../../src/MyRegistrableServices/*'
tags: [ { name: 'app.registry.item', registry:'MyRegistryClassName' }]