fix(core,gdpr): 신규 설치 시 확장 설정 기본값 단계의 "Class not found" 중단 수정
- 설치 흐름(installPlugin/installModule)이 파일 복사 직후 그 확장의 PSR-4 경로를 등록하도록 앞당김 (종전에는 시더 직전에만 등록해 검증·설정 초기화 단계가 사각) - gdpr: 잠금 집합을 진입 파일 Plugin::lockedNecessaryStorage 가 소유하고 Support\NecessaryAllowlist::locked 는 위임 — plugin.php 가 src/ 오토로드에 비의존 - 회귀 테스트: EntryFileAutoloadIndependenceTest, ExtensionInstallAutoloadOrderTest - CHANGELOG 정책 정리: 코어 항목에서 확장·쇼핑몰 문구 제거, 쇼핑몰 증상은 이커머스 1.2.1 로 이동, gdpr 1.0.4 항목·AGENTS.md 갱신
This commit is contained in:
@@ -384,6 +384,13 @@ class ModuleManager implements ModuleManagerInterface
|
||||
$onProgress?->__invoke('copy', '파일 복사 중...');
|
||||
$this->copyFromPendingOrBundled($moduleName, $onProgress, $force);
|
||||
|
||||
// 설치 시점에는 autoload-extensions.php 가 아직 갱신되지 않았다. module.php 의
|
||||
// getConfigValues()/getSettingsSchema() 등이 자기 src/ 클래스를 호출하면 그 클래스가
|
||||
// 해석되지 않아 "Class not found" 로 설치가 중단된다 (업그레이드 경로는 기설치본의
|
||||
// 매핑이 이미 있어 재현되지 않는다). 시더 실행 직전이 아니라 진입 파일을 로드하기
|
||||
// 전에 그 확장의 PSR-4 매핑을 등록한다.
|
||||
ExtensionManager::registerExtensionAutoloadPaths('modules', $moduleName);
|
||||
|
||||
try {
|
||||
// 모듈이 활성 디렉토리에 있지 않으면 로드 시도
|
||||
$module = $this->getModule($moduleName);
|
||||
|
||||
Reference in New Issue
Block a user