moodev / bounce
PHP依赖注入框架,类似于Spring
Requires
- php: >=5.4.0
- symfony/config: >=2.3.0 <2.8.0
- symfony/dependency-injection: >=2.3.0 <2.8.0
Requires (Dev)
- mockery/mockery: ~0.9.0
- phpunit/phpunit: ~4.3.0
This package is not auto-updated.
Last update: 2021-02-19 22:17:33 UTC
README
Bounce 是一个PHP依赖注入框架,类似于Spring的一个子集。它曾经是一个独立的框架,在运行时做了很多工作,因此成本相对较高。现在它是Symfony2 DI库的前端,比Bounce发展得更完善。
使用方法
创建一个上下文XML文件(请参阅测试中的某些示例。)
然后
使用Symfony2的新风格
在您的Symfony2应用中使用BounceFileLoader。BounceFileLoader和Symfony XMLFileLoader都将尝试声明所有.xml文件,这并不是理想的情况。您可能需要在它们前面引入一种委托加载器,通过路径、文件名等方式进行过滤,以防止这种情况。抱歉。
旧风格的ApplicationContext接口和配置
实例化一个SymfonyApplicationContext。这将加载提供的上下文到一个新的Symfony容器中,并用旧ApplicationContext接口包装它。
如果您正在寻找一种从Bounce XML格式迁移的路径,但是有大量使用ApplicationContext接口的情况,可以将不同的FileLoaderFactory传递给SymfonyApplicationContext,这可能会允许从其他风格的Symfony配置中加载服务。遗憾的是,bounce xml的import语句不会调用文件加载器,因此bounce xml文件无法导入不是其他bounce xml文件的东西。
ApplicationContext接口,外部提供的容器
SymfonyContainerBeanFactory可以包装现有的容器,并用于实例化简单的ApplicationContext。这将为您提供ApplicationContext接口,而没有bounce的其他配置功能。
(当然,您可以使用BounceFileLoader加载自己的容器,这基本上是SymfonyApplicationContext的快捷方式。)
支持的内容
仅支持基本功能。属性和构造函数注入工作正常。可以通过工厂创建bean。查找方法工作,但只有当bean不是由工厂创建时才工作。作用域非常基础。默认是单例。理论上支持原型。