From 4de59c313f4f9eff6a834f737a008b92f9470231 Mon Sep 17 00:00:00 2001 From: Axel Helmert Date: Fri, 9 Sep 2016 16:10:16 +0200 Subject: [PATCH] Added automatic type resolving for ContainerInterface --- src/DependencyInjector.php | 5 +++++ src/Resolver/DependencyResolver.php | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) 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; }