From cd5c9d2e00ddd024c0f8a0bd66b86b71fbbcd470 Mon Sep 17 00:00:00 2001 From: "as2252258@163.com" Date: Tue, 23 Feb 2021 02:32:18 +0800 Subject: [PATCH] modify --- System/Di/Container.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/System/Di/Container.php b/System/Di/Container.php index 9198b50c..d3980a98 100644 --- a/System/Di/Container.php +++ b/System/Di/Container.php @@ -68,11 +68,18 @@ class Container extends BaseObject if (!isset($this->_constructs[$class])) { return $this->resolve($class, $constrict, $config); } - $definition = $this->_constructs[$class]; + + $definition = $this->_param[$class]; if (is_callable($definition, TRUE)) { return call_user_func($definition, $this, $constrict, $config); } else if (is_array($definition)) { - return $this->_singletons[$class] = $this->resolve($class, $definition, $config); + $definition = $this->_constructs[$class] ?? []; + if ($class === $definition['class']) { + $object = $this->resolve($class, $definition, $config); + } else { + $object = $this->get($class, $definition, $config); + } + return $this->_singletons[$class] = $object; } else if (is_object($definition)) { return $this->_singletons[$class] = $definition; } else {