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'];
        }
    }
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'];
        }
    }
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' ] ; } }
Carga la configuracion global de la aplicacion
@param string $path_root
@param string $path_framework
@param string $path_application
Carga la configuracion global de la aplicacion