modify
This commit is contained in:
@@ -126,6 +126,7 @@ class Container extends BaseObject
|
|||||||
*/
|
*/
|
||||||
private function resolve($class, $constrict, $config): object
|
private function resolve($class, $constrict, $config): object
|
||||||
{
|
{
|
||||||
|
/** @var ReflectionClass $reflect */
|
||||||
list($reflect, $dependencies) = $this->resolveDependencies($class);
|
list($reflect, $dependencies) = $this->resolveDependencies($class);
|
||||||
foreach ($constrict as $index => $param) {
|
foreach ($constrict as $index => $param) {
|
||||||
$dependencies[$index] = $param;
|
$dependencies[$index] = $param;
|
||||||
@@ -140,8 +141,13 @@ class Container extends BaseObject
|
|||||||
$dependencies[count($dependencies) - 1] = $config;
|
$dependencies[count($dependencies) - 1] = $config;
|
||||||
return $reflect->newInstanceArgs($dependencies);
|
return $reflect->newInstanceArgs($dependencies);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->_param[$class] = $config;
|
$this->_param[$class] = $config;
|
||||||
|
if ($reflect->getConstructor() !== null) {
|
||||||
$object = $reflect->newInstanceArgs($dependencies ?? []);
|
$object = $reflect->newInstanceArgs($dependencies ?? []);
|
||||||
|
} else {
|
||||||
|
$object = $reflect->newInstance();
|
||||||
|
}
|
||||||
foreach ($config as $key => $val) {
|
foreach ($config as $key => $val) {
|
||||||
$object->{$key} = $val;
|
$object->{$key} = $val;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user