/** * Gets the module from a module DOM element * @param DOMElement $moduleElement * @return Module */ private function readModuleFromElement(DOMElement $moduleElement) { $namespace = $moduleElement->getAttribute(self::ATTRIBUTE_NAMESPACE); $name = $moduleElement->getAttribute(self::ATTRIBUTE_NAME); $version = $moduleElement->getAttribute(self::ATTRIBUTE_VERSION); $ziboVersion = $moduleElement->getAttribute(self::ATTRIBUTE_VERSION_ZIBO); $path = $moduleElement->getAttribute(self::ATTRIBUTE_PATH); $dependencies = $this->readModulesFromElement($moduleElement, self::TAG_DEPENDENCY); $module = new Module($namespace, $name, $version, $ziboVersion, $dependencies); if (!empty($path)) { $module->setPath(new File($path)); } return $module; }