diff --git a/src/DependencyInjector.php b/src/DependencyInjector.php index 855d63b9..45535624 100644 --- a/src/DependencyInjector.php +++ b/src/DependencyInjector.php @@ -414,6 +414,11 @@ private function resolveMethodParameters($type, $method, array $params = []) continue; } + if ($arg == ContainerInterface::class) { + $params[] = $container; + continue; + } + if ($arg instanceof Resolver\TypeInjection) { $arg = $arg->getType(); } diff --git a/src/Resolver/DependencyResolver.php b/src/Resolver/DependencyResolver.php index f0433b8f..cbd529b2 100644 --- a/src/Resolver/DependencyResolver.php +++ b/src/Resolver/DependencyResolver.php @@ -249,7 +249,7 @@ public function resolveMethodParameters($requestedType, $method, array $callTime continue; } - if (!$this->container || $this->container->has($type)) { + if (($type === ContainerInterface::class) || !$this->container || $this->container->has($type)) { $result[$name] = $type; continue; }