定制 svb/service-factory-bundle 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

svb/service-factory-bundle

Composer 安装命令:

composer require svb/service-factory-bundle

包简介

Convenient way to automatically inject services into a factory without using sf service tagging.

README 文档

README

Using factories to orchestrate symfony services is usually accomplished by registering a service tag on the service and pass all services with that tag to the factory.

Since 3.4 we got this pretty little feature to ease the whole process of finding tagged services and injecting them into the factory, but it's still a bit too complicated to use this functionality.

To further improve this, we've decided to provide the AbstractServiceFactory (Factory) and the AbstractFactoryService (Service). To tell the symfony dependency injection which services inheriting AbstractFactoryService need to be added to which factories inheriting AbstractServiceFactory, all services must implement the getFactoryServiceId method returning the corresponding factory FQCN.

Installing

Just run the composer require and composer does the rest!
php composer.phar require svb/service-factory-bundle

Example service

use SVB\ServiceFactoryBundle\FactoryServiceInterface; class TestService implements FactoryServiceInterface { public static function getFactoryServiceId(): string { return TestFactory::class; } }

Example factory

use SVB\ServiceFactoryBundle\AbstractServiceFactory; use SVB\ServiceFactoryBundle\FactoryServiceInterface; class TestFactory extends AbstractServiceFactory { /**  * @return FactoryServiceInterface[]  */ public function getAllServices(): array { /**  * $this->services contains all FactoryServiceInterface inheriting  * services that return the TestFactory FQCN on getFactoryServiceId  */ return $this->services; } }

Continuous integration

Execute unit tests: ./phpunit --coverage-html coverage

统计信息

  • 总下载量: 77.38k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 7
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04