yawa20/registry-bundle

注册包,便于轻松实现注册模式

5.0.0 2019-12-04 14:47 UTC

This package is auto-updated.

Last update: 2024-09-05 01:12:14 UTC


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' }]