/** * @param CombinedConfigSource $combinedConfigSource * @param string $stage * @return \n2n\core\config\AppConfig */ public function create(CombinedConfigSource $combinedConfigSource, $stage, $stageExplizit = false) { $reader = new GroupedConfigSourceReader($combinedConfigSource); $reader->initialize($stage, $stageExplizit, self::getGroupNames(), array(self::GROUP_ROUTING)); return new AppConfig($this->createGeneralConfig($reader->getGroupReaderByGroupName(self::GROUP_GENERAL)), $this->createWebConfig($reader->getGroupReaderByGroupName(self::GROUP_WEB), $reader->getGroupReaderByGroupName(self::GROUP_ROUTING), $reader->getExtendedGroupReadersByGroupName(self::GROUP_ROUTING)), $this->createMailConfig($reader->getGroupReaderByGroupName(self::GROUP_MAIL)), $this->createIoConfig($reader->getGroupReaderByGroupName(self::GROUP_IO)), $this->createFilesConfig($reader->getGroupReaderByGroupName(self::GROUP_FILES)), $this->createErrorConfig($reader->getGroupReaderByGroupName(self::GROUP_ERROR)), $this->createDatabaseConfig($reader->getGroupReaderByGroupName(self::GROUP_DATABASE)), $this->createOrmConfig($reader->getGroupReaderByGroupName(self::GROUP_ORM)), $this->createN2nLocalesConfig($reader->getGroupReaderByGroupName(self::GROUP_LOCALES)), $this->createL10nConfig($reader->getGroupReaderByGroupName(self::GROUP_L10N)), $this->createPseudoL10nConfig($reader->getGroupReaderByGroupName(self::GROUP_PSEUDO_L10N))); }
public function getModuleInfo() : ModuleInfo { if ($this->moduleInfo !== null) { return $this->moduleInfo; } $this->moduleInfo = new ModuleInfo(); if ($this->moduleConfigSource === null) { return $this->moduleInfo; } $reader = new GroupedConfigSourceReader(new CombinedConfigSource($this->moduleConfigSource)); $reader->initialize(null, false, array(self::GROUP_INFO, self::GROUP_META)); $groupReader = $reader->getGroupReaderByGroupName(self::GROUP_INFO, false); $this->moduleInfo->setName($groupReader->getString(self::NAME_KEY, false)); $this->moduleInfo->setAuthor($groupReader->getString(self::AUTHOR_KEY, false)); $this->moduleInfo->setWebsite($groupReader->getString(self::WEBSITE_KEY, false)); $this->moduleInfo->setLicense($groupReader->getString(self::LICENSE_KEY, false)); $groupReader = $reader->getGroupReaderByGroupName(self::GROUP_META); $this->moduleInfo->setVersion($groupReader->getString(self::VERSION_KEY, false)); $this->moduleInfo->setDependencies($groupReader->getScalarArray(self::DEPENDENCIES_KEY, false, array())); $this->moduleInfo->setConfigDescriberClassName($groupReader->getString(self::CONFIG_DESCRIBER_KEY, false)); $this->moduleInfo->setInstallDescriberClassName($groupReader->getString(self::INSTALL_DESCRIBER_KEY, false)); return $this->moduleInfo; }