unofficialmc2 / instance-resolver
实例解析器,自动链接
v2.2.0
2024-09-26 13:55 UTC
Requires
- php: ^8.3
- psr/container: ^2.0
Requires (Dev)
- phpstan/phpstan: ^1.8
- phpunit/phpunit: ^11.3
- pimple/pimple: ^3.2
- squizlabs/php_codesniffer: ^3.5
README
使用说明
use InstanceResolver\ResolverClass; class A { public $prop = 0; } class B extends A { public $prop = 0; } class C { public function __construct(A $a){} } class D { public function __construct($x){} } $resolver = new ResolverClass($container); $a = $resolver(A::class); $b = $resolver(B::class); $c = $resolver(C::class); $d = $resolver(D::class); // throw new InstanceResolver\Exception\UnresolvedParameter // --> le paramètre $x ne peut pas être résolu $e = $resolver('E'); // throw new InstanceResolver\Exception\UnresolvedClass // --> la classe E n'existe pas et n'a pas été trouvé par l'autoloader
要在容器中声明依赖,必须使用完整的类名。
待办事项
版本 1.0
- 解决命名空间问题
- 修复所有测试
- 编写文档草稿
- 发布版本 1.0