matejicekvojtech/service-registry-bundle
最新稳定版本:0.1.1
Composer 安装命令:
composer require matejicekvojtech/service-registry-bundle
包简介
Service registry bundle for Symfony services
README 文档
README
Allows Symfony developers to add services into service registry without any further configuration needed.
Instalation
composer require matejicekvojtech/service-registry-bundle
# config/bundles.php <?php return [ // ... \MV\ServiceRegistryBundle\ServiceRegistryBundle::class => ['all' => true], ];
Usage
In class to be put into registry add attribute with registry id and service priority in registry (higher number means higher priority)
<?php namespace App; use MV\ServiceRegistryBundle\Attribute\ServiceInRegistry; #[ServiceInRegistry(registry: 'some_registry_id', priority: 10 /* default 0 */)] class SomeClass implements SomeInterface { /* ... */ }
or in DI container definition add tag:
services: App\SomeClass: tags: - { name: mv.service-in-registry, registry: some_registry_id, priority: 10 }
Service registry will be then available by service id mv.service-registry.<registry_id>, in example case mv.service-registry.some_registry_id
<?php namespace App; use MV\ServiceRegistryBundle\Registry\ServiceRegistryInterface; class ClassUsingRegistry { /** * @param ServiceRegistryInterface<SomeInterface> $serviceRegistry */ public function __construct( private ServiceRegistryInterface $serviceRegistry, ) public function useAllFromRegistry(): void { foreach ($this->serviceRegistry->all() as $service) { /* some logic here */ } } public function useCertainFromRegistry(): void { $service = $this->serviceRegistry->get(App\SomeClass::class); /* some logic here */ } }
services: App\ClassUsingRegistry: arguments: $serviceRegistry: '@mv.service-registry.some_registry_id'
统计信息
- 总下载量: 3
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-09-22