unofficialmc2 / instance-resolver
Resolver d'instance, auto link
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
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