public function init(){
        $file= 'config';
        //Seleccion el archivo de configuracion correspondiente segun el MODO y el DOMINIO
        if($this->multiDomain && $this->domain){
            //Ya no importa el modo, se definio todo antes si busca o no por dominio
            //if(ENOLA_MODE == 'HTTP'){
                $file= $this->getConfigFile();
            //}else{
                //reset($this->configFiles);
                //$file= next($this->configFiles);
            //}
        }
        $config= $this->readConfigurationFile($file);
        //Define si muestra o no los errores y en que nivel de detalle dependiendo en que fase se encuentre la aplicacion
        switch ($config['environment']){
            case 'development':
                error_reporting(E_ALL);
                $this->error= 'ALL';
                break;
            case 'production':
                error_reporting(0);
                $this->error= 'NONE';
                break;
            default:
                //No realiza el llamado a funcion de error porque todavia no se cargo el modulo de errores
                $head= 'Configuration Error';
                $message= 'The environment is not defined in configuration.json';
                require $this->pathApp . 'errors/general_error.php';
                exit;
        } 
        //URL_APP: Url donde funciona la aplicacion
        $this->urlApp= $config['url_app'];
        //BASE_URL: Base relativa de la aplicacion - definida por el usuario en el archivo de configuracion    
        $pos= strlen($config['relative_url']) - 1;
        if($config['relative_url'][$pos] != '/'){
            $config['relative_url'] .= '/';
        }
        $this->relativeUrl= $config['relative_url'];
        //INDEX_PAGE: Pagina inicial. En blanco si se utiliza mod_rewrite
        $this->indexPage= $config['index_page'];
        //SESSION_PROFILE: Setea la clave en la que se guarda el profile del usuario
        $this->sessionProfile= "";
        if(isset($config['session-profile'])){
            $this->sessionProfile= $config['session-profile'];
        }
        
        //ENVIRONMENT: Indica el ambiente de la aplicacion
        $this->environment= $config['environment'];
        //AUTHENTICATION: Indica el metodo de autenticacion de la aplicacion
        $this->authentication= $config['authentication'];
        //SESSION_AUTOSTART: Indica si el framework inicia automaticamente la session
        $this->sessionAutostart= $config['session_autostart'];
        //AUTHORIZATION_FILE: Indica el archivo que contiene la configuracion de autorizacion
        $this->authorizationFile= $config['authorization_file'];
        //CONFIG_BD: archivo de configuracion para la base de datos
        if(isset($config['database']) && $config['database'] != ''){
            $this->databaseConfiguration= $config['database'];
        }        
        //Internacionalizacion: En caso que se defina se setea el locale por defecto y todos los locales soportados
        if(isset($config['i18n'])){
            $this->i18nDefaultLocale= $config['i18n']['default'];
            if(isset($config['i18n']['locales'])){
                $locales= str_replace(" ", "", $config['i18n']['locales']);
                $this->i18nLocales= explode(",", $locales);
            }
        }
        
        //Diferentes definiciones
        $this->librariesDefinition= isset($config['libs']) ? $config['libs'] : [];
        $this->dependenciesFile= $config['dependency_injection'];
        $this->controllersFile= $config['controllers'];
        $this->middlewaresDefinition= $config['middlewares'];
        $this->filtersBeforeDefinition= $config['filters'];
        $this->filtersAfterDefinition= $config['filters_after_processing'];
        
        if(isset($config['vars'])){
            $this->contextVars= $config['vars'];
        }
    }