av / bonefish-di2
v2.0
2014-10-04 18:44 UTC
Requires
- php: >=5.3.0
- nette/reflection: dev-master
This package is not auto-updated.
Last update: 2019-02-20 18:11:16 UTC
README
Bonefish-DI2是一个简单小巧的依赖注入容器。这与Bonefish-DI基本相同,但使用了Nette\Reflection以支持更简单的注解
特性
- 使用@inject注解注入服务
- 默认实现懒加载依赖注入
安装
请使用Composer安装此包。
$ composer require av/bonefish-di2:dev-master
用法
简单创建带有注入,无需将其添加到容器中
// Create an Object and inject all Services $container = new Bonefish\DependencyInjection\Container(); $foo = $container->create('\Some\Random\Class'); // or with parameters $bar = $container->create('\Some\Random\Class',array('bar','baz'));
创建一个新的服务并将其保存到容器中
// Create a service, no parameters here $container = new Bonefish\DependencyInjection\Container(); $service = $container->get('\Some\Random\Service');
您还可以创建对象,稍后将其添加以用作服务
// Create an Object and inject all Services $container = new Bonefish\DependencyInjection\Container(); $bar = $container->create('\Some\Random\Class',array('bar','baz')); $container->add('\Some\Random\Class',$bar);
您还可以定义别名
// Create an Object and inject all Services $container = new Bonefish\DependencyInjection\Container(); $service = $container->get('\Some\Random\Service'); $container->alias('Alias','\Some\Random\Service'); // This will now return \Some\Random\Service $service2 = $container->get('Alias');
您还可以检查别名是否设置,拆除整个容器并列出容器中的所有服务。