轻量级依赖注入器

v1.1.4 2020-11-28 14:37 UTC

This package is auto-updated.

Last update: 2024-08-29 04:25:42 UTC


README

Build Status Code Climate Coverage PHP 7.1 Packagist

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)
]));