/**
  * Define um modulo como carregado nas configurações de modulos
  *
  * @param array $explodedLoadedModules
  * @param string $moduleType
  * @param string $moduleName
  * @param array $rollback
  * @return array|bool
  */
 public static function setModuleAsLoaded(array $explodedLoadedModules, $moduleType, $moduleName, array &$rollback)
 {
     $errors = [];
     //Verifica se o modulo não esta carregado
     if (!in_array($moduleType . Strings::MODULE_TYPE_NAME_SEPARATOR . $moduleName, $explodedLoadedModules)) {
         array_push($explodedLoadedModules, $moduleType . Strings::MODULE_TYPE_NAME_SEPARATOR . $moduleName);
         $newLoadedModules = implode(Strings::MODULE_SEPARATOR, $explodedLoadedModules);
         //Adiciona para a lista de rollback
         $rollback[Strings::ROLLBACK_LOADED_MODULE_TAG] = EscapeHelper::encode($moduleType . Strings::MODULE_TYPE_NAME_SEPARATOR . $moduleName);
         //Substitui conteudo da variavel pelo conteudo com o modulo novo
         if (Configs::setConfig(PathHelper::getModuleGeneralConfig(), Strings::CONFIG_LOADED_MODULES, $newLoadedModules) == false) {
             //Adiciona o erro para o array de erros
             $errors[] = Strings::cantSetModuleAsLoadedError($moduleType . Strings::MODULE_TYPE_NAME_SEPARATOR . $moduleName);
         }
     } else {
         //Adiciona o erro para o array de erros
         $errors[] = Strings::moduleAlreadySetError($moduleType . Strings::MODULE_TYPE_NAME_SEPARATOR . $moduleName);
     }
     return !empty($errors) ? $errors : true;
 }