pkerrigan / di
轻量级依赖注入器
v1.1.4
2020-11-28 14:37 UTC
Requires
- php: >=7.1
- psr/container: ^1.0
Requires (Dev)
- phpunit/phpunit: ^7|^8|^9
Provides
- psr/container-implementation: 1.0.0
README
pkerrigan/di
一个简单、轻量级的 PHP 7.1 依赖注入器。
为什么选择它?
这只是一个娱乐项目,并不能与流行的依赖注入器提供的功能相提并论。如果你只需要注入对象,这个可能对你有用。
使用方法
$injector = Injector::getInstance(); $injector->addClassResolver(new ArrayMapClassResolver([ Interface::class => ConcreteImplementation::class ])); $instance = $injector->get(Interface::class);
默认情况下,所有对象都被视为单例(即,对于连续调用 get()
将返回相同的对象)。如果你希望每次调用 get(或注入)时都重新构建对象,你可以将其显式定义为 Prototype
,如下所示
$injector->addClassResolver(new ArrayMapClassResolver([ Interface::class => new Prototype(ConcreteImplementation::class) ]));