namespaceLoader = $namespaceLoader; $this->fileManager = $fileManager; } public function register(array $data): void { /* load "psr-4", "psr-0", "classmap" */ $this->namespaceLoader->register($data); /* load "autoloadFileList" */ $this->registerAutoloadFileList($data); /* load "files" */ $this->registerFiles($data); } private function registerAutoloadFileList(array $data): void { $keyName = 'autoloadFileList'; if (!isset($data[$keyName])) { return; } foreach ($data[$keyName] as $filePath) { if ($this->fileManager->exists($filePath)) { require_once($filePath); } } } private function registerFiles(array $data): void { $keyName = 'files'; if (!isset($data[$keyName])) { return; } foreach ($data[$keyName] as $filePath) { if ($this->fileManager->exists($filePath)) { require_once($filePath); } } } }