drhino/container
轻量级PSR-11容器
v3.0.0
2023-04-10 17:46 UTC
Requires
- php: >=7.4
- psr/container: ^2.0
Requires (Dev)
- phpunit/phpunit: ^9.6
- vimeo/psalm: ^5.9
README
使用Composer安装
composer require drhino/container:^3.0.0
示例用法
class Dependency { public string $var = ''; } class Init { public function __construct(Dependency $dependency, String $value) { $dependency->var = $value; } }
$container = new drhino\Container\Container; $container ->add(Init::class, [ // The arguments of the constructor 'dependency' => $container->ref(Dependency::class), 'value' => 'Hello world', ]) ->add(Dependency::class) ;
使用$container->ref()在将其添加到容器之前引用一个标识符。
// Executes __construct() $init = $container->get(Init::class); // Prints 'Hello world' echo $container->get(Dependency::class)->var;
签名
以下内容完全相同
$container->add(Dependency::class);
$container->add($id = Dependency::class, $resource = Dependency::class, $arguments = []);
$container->add($id = Dependency::class, $arguments = []);