fzed51/instance-resolver

实例解析器,自动链接

v2.1.0 2022-11-15 21:50 UTC

This package is auto-updated.

Last update: 2024-09-16 01:49:27 UTC


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