Просмотр исходного кода

fix(extension): 跳过缺少类定义的扩展加载

- 在加载扩展时检查是否存在类定义
- 避免因缺少类定义导致的加载错误
- 确保只有有效的扩展才会被绑定到应用容器中
runphp 6 месяцев назад
Родитель
Сommit
d0d89a4417
1 измененных файлов с 3 добавлено и 0 удалено
  1. 3 0
      src/Service/AutoloadService.php

+ 3 - 0
src/Service/AutoloadService.php

@@ -17,6 +17,9 @@ class AutoloadService
     public function load(array $extensionComposerMap, array $extensionNameList): void
     public function load(array $extensionComposerMap, array $extensionNameList): void
     {
     {
         foreach ($extensionComposerMap as $extensionID => $composerFile) {
         foreach ($extensionComposerMap as $extensionID => $composerFile) {
+            if (!isset($composerFile['extra']['sixshop']['class'])) {
+                continue;
+            }
             $this->app->bind('extension.' . $extensionID, $composerFile['extra']['sixshop']['class']);
             $this->app->bind('extension.' . $extensionID, $composerFile['extra']['sixshop']['class']);
         }
         }
         $extensionPath = extension_path();
         $extensionPath = extension_path();