fzed51/instance-resolver

Resolver d'instance, auto link

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

This package is auto-updated.

Last update: 2024-04-16 01:00:10 UTC


README

Usage

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

Pour déclarer les dépendance dans le Container, il faut utiliser les nom de classe complet.

TODO

version 1.0

  • résoudre le problème de namespace
  • coriger tout les tests
  • faire l'ébauche de la doc
  • publier la version 1.0