/** * inicia a controller conforme configurado em navigation e retorna o resultado do metodo chamado * @return HttpResultVO */ private function getControllerResult() { $ignore_name = Config::getAliasFolder(); if (Config::getLocale()) { $ignore_name .= "/" . Config::getLocale(); } //url com trata com regras de rota $url = explode("/", Config::rewriteUrl(Navigation::getURI($ignore_name, Navigation::URI_RETURN_TYPE_STRING))); //inicia a controller $retornoDaController = self::searchController($url, Config::FOLDER_REQUEST_CONTROLER); //afiliados ( afiliate) reconhecer aqui a poss�vel origem do internauta atrav�s do restFolder afiliate.N $arrayVariable = Navigation::getVariableArraySlug($retornoDaController->arrayRestFolder); if (!$retornoDaController->success) { //pega o nome da classe para instanciar e executa o init $tempExplode = explode("/", Config::URL_DEFAULT_CONTROLLER); $className = $tempExplode[count($tempExplode) - 1]; $className = str_replace(array(".class.php", ".php"), "", $className); $retornoDaController->className = $className; $retornoDaController->methodName = "init"; $retornoDaController->urlToInclude = Config::URL_DEFAULT_CONTROLLER; } $className = $retornoDaController->className; $methodName = $retornoDaController->methodName; //inclui a controller include_once $retornoDaController->urlToInclude; //instancia $instancia = new $className($retornoDaController->arrayRestFolder); //executa o metodo e este deve retornar sempre uma HttpResultVO if (!ClassHandler::isMethodPublic($instancia, $methodName)) { $methodName = "init"; } $HttpResultVO = $instancia->{$methodName}(); return $HttpResultVO; }