/** * Faz o rollback do arquivo de Routebuilder * * @param array $rollback * @return array|bool */ private static function routeBuilderFileRollback($rollback) { $errors = []; if (array_key_exists(Strings::ROLLBACK_ROUTES_BUILDER_TAG, $rollback)) { $oldRoutesBuilder = EscapeHelper::decode($rollback[Strings::ROLLBACK_ROUTES_BUILDER_TAG]); if (file_put_contents(PathHelper::getRouteBuilderPath(), str_replace(file_get_contents(PathHelper::getRouteBuilderPath()), $oldRoutesBuilder, file_get_contents(PathHelper::getRouteBuilderPath()))) == false) { $errors[] = Strings::ERROR_WRITE_ROUTEBUILDER_FILE; } } return !empty($errors) ? $errors : true; }
/** * Constroi as rotas dos modulos * * @param string $moduleType * @param string $moduleName * @param array $rollback * @return array|bool */ public static function buildRoutes($moduleType, $moduleName, array &$rollback) { $errors = []; //Cria registro no rollback dizendo que o arquivo foi copiado $rollback[Strings::ROLLBACK_ROUTES_BUILDER_TAG] = EscapeHelper::encode(file_get_contents(PathHelper::getRouteBuilderPath())); //constroi o array do routesBuilder $routeBuilder = RouteBuilder::getRoutesBuilder(PathHelper::getRouteBuilderPath()); //verifica se foi construido um array valido if ($routeBuilder !== false) { //inclui as novas rotas ao array do routeBuilder $routeBuilder = RouteBuilder::includeToRoutesBuilder($routeBuilder, PathHelper::getModuleRoutesPath($moduleType, $moduleName)); //verifica se o array de rotas continua válido if ($routeBuilder !== false) { //tenta salvar o novo array do routesBuilder if (RouteBuilder::saveRoutesBuilder($routeBuilder, PathHelper::getRouteBuilderPath()) != false) { //Cria registro no rollback dizendo que o arquivo foi copiado $rollback[Strings::ROLLBACK_OLD_ROUTES_TAG] = EscapeHelper::encode(file_get_contents(PathHelper::getLaravelRoutesPath())); //tenta construir o arquivo de rotas gera baseado no array savo do routesBuilder if (RouteBuilder::buildRoutes($routeBuilder) === false) { $errors[] = Strings::ERROR_ROUTES_FILE_SAVE; } } else { $errors[] = Strings::ERROR_ROUTES_BUILDER_SAVE; } } else { $errors[] = Strings::ERROR_INCLUDE_TO_ROUTES_BUILDER_SAVE; } } else { $errors[] = Strings::ERROR_ROUTES_BUILDER_GEN; } return !empty($errors) ? $errors : true; }