corex / ioc
1.0.2
2019-03-17 15:30 UTC
Requires
- php: >=7.0
Requires (Dev)
- corex/helpers: ^1.0
- phpunit/phpunit: ^6.0
This package is auto-updated.
Last update: 2020-04-15 05:14:25 UTC
README
这是一个简单的容器,用于管理类依赖关系并执行依赖注入。
方法。
- getInstance() - 获取容器实例。
- clear() - 清除容器中的所有绑定和实例。
- getBindings() - 获取绑定。
- getBinding() - 获取特定绑定。
- has() - 检查类或接口是否已绑定。
- hasInstance() - 检查类或接口是否已实例化。
- isShared() - 检查类或接口是否共享/是否为单例。
- isSingleton() - 检查类或接口是否共享/是否为单例。
- forget() - 忘记指定的绑定和实例。
- bind() - 绑定类或实例。
- singleton() - 将类或实例绑定为共享/单例。
- instance() - 在现有绑定上设置实例。
- make() - 创建类或接口的实例。
创建容器。
// Create new container. $container = new Container(); // Create/use existing container. $container = Container::getInstance();
创建未绑定的类。
$myClass = Container::getInstance()->make(MyClass::class);
创建具有绑定和参数的类。
$container = Container::getInstance(); $container->bind(MyClassInterface::class, MyClass::class); $myClass = $container->make(MyClass::class, [ 'test' => 'my.value' ]);
- 通过绑定接口创建类时,将检查实例类是否实现了绑定接口。
- 通过绑定基类创建类时,将检查实例类是否扩展了绑定基类。