Example #1
0
 /**
  * Función Principal donde se ejecutan los controladores
  *
  * @params string $url url
  * @return boolean
  */
 public static function main($url)
 {
     /**
      * El Router analiza la url
      **/
     Router::rewrite($url);
     /**
      * Ciclo del enrutador
      */
     $controller = Dispatcher::execute();
     while (Router::getRouted()) {
         Router::setRouted(false);
         $controller = Dispatcher::execute();
     }
     /**
      * Renderiza la vista
      **/
     if ($controller->view || $controller->template) {
         require CORE_PATH . 'kumbia/view.php';
         View::render($controller, $url);
     } else {
         ob_end_flush();
     }
     // Fin del request
     exit;
 }
}
// @see Router
require CORE_PATH . 'kumbia/router.php';
//@see Load
require CORE_PATH . 'kumbia/load.php';
// @see Dispatcher
require CORE_PATH . 'kumbia/dispatcher.php';
// @see Controller
require APP_PATH . 'libs/application_controller.php';
// @see KumbiaView
require APP_PATH . 'libs/view.php';
try {
    // Bootstrap de la aplicacion
    require APP_PATH . 'libs/bootstrap.php';
    // Dispatch y renderiza la vista
    View::render(Dispatcher::execute(Router::rewrite($url)), $url);
} catch (KumbiaException $e) {
    KumbiaException::handle_exception($e);
}
// Autocarga de clases
function auto($class)
{
    // Optimizando carga de ActiveRecord
    if ($class == 'ActiveRecord') {
        return require APP_PATH . 'libs/active_record.php';
    }
    // Pasando a smallcase
    $class = Util::smallcase($class);
    if (is_file(APP_PATH . "extensions/helpers/{$class}.php")) {
        return require APP_PATH . "extensions/helpers/{$class}.php";
    }