public function __construct() { $this->context = EnolaContext::getInstance(); $this->app = $this->context->app; $this->request = $this->app->getRequest(); $this->response = $this->app->getResponse(); }
/** * Devuelve un array con los valores del archivo de configuracion * @param string $name * @param boolean $cache * @return array */ public function readConfigurationFile($name, $cache = TRUE) { //Lee archivo de configuracion principal donde se encuentra toda la configuracion de variables, filtros, controladores, etc. $config = NULL; if ($this->cacheConfigFiles && $cache && $this->app->cache != NULL) { //Si esta en produccion y se encuentra en cache lo cargo $config = $this->app->getAttribute('C_' . $name); } if ($config == NULL) { //Cargo la configuracion y guardo en cache si corresponde $config = $this->readFile($name); if ($this->cacheConfigFiles && $cache && $this->app->cache != NULL) { $this->app->setAttribute('C_' . $name, $config); } } if (!is_array($config)) { //Arma una respuesta de error de configuracion. \Enola\Error::general_error('Configuration Error', 'The configuration file ' . $name . ' is not available or is misspelled'); //Cierra la aplicacion exit; } return $config; }
<?php namespace Enola; use Enola\Error; //Carga el setup de la aplicacion include $path_application . 'setup.php'; //Tiempo de Inicio de la aplicación $timeBegin = microtime(TRUE); require $path_framework . 'EnolaContext.php'; //Instancio la Clase EnolaContext que carga la configuracion de la aplicacion $context = new \EnolaContext($path_root, $path_framework, $path_application, $configurationType, $configurationFolder, $charset, $timeZone, $cache); //Una vez realizada la carga de la configuracion empieza a trabajar el core del Framework $app = new Application($context); //Seteo el caluclo de la performance, si corresponde $app->initPerformance($timeBegin); //Ejecuto el requerimiento actual $app->request(); /** * Esta clase representa el Nucleo del framework. En esta se cuentra la funcionalidad principal del framework * En su instanciacion cargara todos los modulos de soporte, librerias definidas por el usuario y demas comportamiento * sin importar el tipo de requerimiento. * Mediante el metodo request atendera el requerimiento actual donde segun el tipo del mismo cargara los modulos principales * correspondientes y les cedera el control a cada uno como corresponda. * Permite la administracion de variables de tipo aplicacion mediante la cache. * @author Eduardo Sebastian Nola <*****@*****.**> * @category Enola * @internal */ class Application {