From 792bbc2c40b5b849dfa26418ebe03acb160d92ae Mon Sep 17 00:00:00 2001 From: "as2252258@163.com" Date: Tue, 23 Feb 2021 00:59:41 +0800 Subject: [PATCH] modify --- System/Di/Container.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/System/Di/Container.php b/System/Di/Container.php index 8aa472a7..ce867fc3 100644 --- a/System/Di/Container.php +++ b/System/Di/Container.php @@ -126,6 +126,7 @@ class Container extends BaseObject */ private function resolve($class, $constrict, $config): object { + /** @var ReflectionClass $reflect */ list($reflect, $dependencies) = $this->resolveDependencies($class); foreach ($constrict as $index => $param) { $dependencies[$index] = $param; @@ -140,8 +141,13 @@ class Container extends BaseObject $dependencies[count($dependencies) - 1] = $config; return $reflect->newInstanceArgs($dependencies); } + $this->_param[$class] = $config; - $object = $reflect->newInstanceArgs($dependencies ?? []); + if ($reflect->getConstructor() !== null) { + $object = $reflect->newInstanceArgs($dependencies ?? []); + } else { + $object = $reflect->newInstance(); + } foreach ($config as $key => $val) { $object->{$key} = $val; }