b2pweb / bdf-instantiator
Bdf Instantiator 组件
v1.0.6
2024-02-26 14:44 UTC
Requires
- php: ~7.1 | ~8.0.0 | ~8.1.0 | ~8.2.0 | ~8.3.0
- psr/container: ~1.0|~2.0
- symfony/http-kernel: ~4.2|~5.0|~6.0
Requires (Dev)
- league/container: ~3.0|~4.0
- phpunit/phpunit: ~7.0|~8.0
README
一个基本的对象实例化工具。
通过 composer 安装
$ composer require b2pweb/bdf-instantiator
使用说明
从容器定义中解析时的基本使用。
use Bdf\Instantiator\Instantiator; use Psr\Container\ContainerInterface; use Psr\Log\LoggerInterface; /** @var ContainerInterface $container */ $container->add(Logger::class, LoggerInterface::class); $instantiator = new Instantiator($container); $instantiator->make(LoggerInterface::class);
实例化器根据容器定义解析方法的依赖项。
use Bdf\Instantiator\Instantiator; use Psr\Container\ContainerInterface; use Psr\Log\LoggerInterface; class Foo { public $logger; /** * Foo constructor. * * @param LoggerInterface $logger */ public function __construct(LoggerInterface $logger) { $this->logger = $logger; } } /** @var ContainerInterface $container */ $container->add(Logger::class, LoggerInterface::class); $instantiator = new Instantiator($container); $foo = $instantiator->make(Foo::class); var_dump($foo->logger); // Logger
许可证
在 MIT 许可证的条款下分发。