elverion / dependency-injection
此包的最新版本(1.02)没有可用的许可证信息。
PHP 的极简依赖注入库
1.02
2022-01-29 16:55 UTC
Requires
- php: >=7.4
- psr/container: ^2.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- symfony/var-dumper: ^5.3
Provides
README
关于
本项目可用于帮助您在自己的项目中实现依赖注入。该实现符合 PSR-11 容器规范,尽可能地简洁,而不牺牲功能。它能够解析类、接口和绑定以及原始类型的具体实现,并调用闭包、函数和绑定的方法。
需求
安装
Composer
composer require elverion/dependency-injection
使用
这就像获取容器对象的实例并使用 ->make()
或 ->resolve()
方法(以获取某些抽象的具体实现)一样简单,或者使用 ->call()
调用一个方法并将依赖注入其中。例如
<?php use Elverion\DependencyInjection\Container\Container; class MyApp { private $client; public function __construct(Client $client) { $this->client = $client; } // ... } class Task { public function handle(MyApp $app) { // ... } } $container = Container::getInstance(); $task = new Task(); $container->call([$task, 'handle']); // Injects a Client into MyApp, then calls Task::handle() with the MyApp instance
有关更深入的示例,请参阅 examples/example.php。