diff --git a/Kiri.php b/Kiri.php index 31a64632..62ec55bb 100644 --- a/Kiri.php +++ b/Kiri.php @@ -56,7 +56,7 @@ class Kiri public static function createObject($className, array $construct = []): mixed { if (is_string($className) && class_exists($className)) { - return static::getContainer()->get($className, $construct); + return static::getContainer()->make($className, $construct); } else if (is_array($className) && isset($className['class'])) { $class = $className['class']; unset($className['class']); diff --git a/kiri-engine/Abstracts/BaseApplication.php b/kiri-engine/Abstracts/BaseApplication.php index 3e789537..82332b21 100644 --- a/kiri-engine/Abstracts/BaseApplication.php +++ b/kiri-engine/Abstracts/BaseApplication.php @@ -83,6 +83,7 @@ abstract class BaseApplication extends Component /** * @param ConfigProvider $config * @return void + * @throws Exception */ public function mapping(ConfigProvider $config): void { @@ -90,9 +91,8 @@ abstract class BaseApplication extends Component foreach ($config->get('mapping', []) as $interface => $class) { $this->container->set($interface, $class); } - foreach ($config->get('components', []) as $id => $component) { - $this->localService->set($id, $component); + $this->localService->set($id, Kiri::createObject($component)); } }