Example #1
0
 /**
  * Método que despacha la página solicitada
  * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]delaf.cl)
  * @version 2014-03-21
  */
 public static function dispatch()
 {
     $request = new Network_Request();
     $response = new Network_Response();
     // Verificar si el recurso solicitado es un archivo físico dentro del
     // directorio webroot
     if (self::_asset($request->request, $response)) {
         // retorna el método Dispatcher::dispatch, con lo cual termina el
         // procesado de la página
         return;
     }
     // Parsear parámetros del request
     $request->params = Routing_Router::parse($request->request);
     // Si se solicita un módulo tratar de cargar y verificar que quede activo
     if (!empty($request->params['module'])) {
         Module::load($request->params['module']);
         if (!Module::loaded($request->params['module'])) {
             throw new Exception_Module_Missing(array('module' => $request->params['module']));
         }
     }
     // Obtener controlador
     $controller = self::_getController($request, $response);
     // Verificar que lo obtenido sea una instancia de la clase Controller
     if (!$controller instanceof Controller) {
         throw new Exception_Controller_Missing(array('class' => 'Controller_' . Utility_Inflector::camelize($request->params['controller'])));
     }
     // Invocar a la acción del controlador
     return self::_invoke($controller, $request, $response);
 }
Example #2
0
/**
 * SowerPHP
 * Copyright (C) SowerPHP (http://sowerphp.org)
 *
 * Este programa es software libre: usted puede redistribuirlo y/o
 * modificarlo bajo los términos de la Licencia Pública General Affero de GNU
 * publicada por la Fundación para el Software Libre, ya sea la versión
 * 3 de la Licencia, o (a su elección) cualquier versión posterior de la
 * misma.
 *
 * Este programa se distribuye con la esperanza de que sea útil, pero
 * SIN GARANTÍA ALGUNA; ni siquiera la garantía implícita
 * MERCANTIL o de APTITUD PARA UN PROPÓSITO DETERMINADO.
 * Consulte los detalles de la Licencia Pública General Affero de GNU para
 * obtener una información más detallada.
 *
 * Debería haber recibido una copia de la Licencia Pública General Affero de GNU
 * junto a este programa.
 * En caso contrario, consulte <http://www.gnu.org/licenses/agpl.html>.
 */
namespace sowerphp\core;

/**
 * @file core.php
 * Rutas estándares de las páginas o aplicaciones
 * @version 2014-03-22
 */
// Definir la página de inicio
Routing_Router::connect('/', array('controller' => 'pages', 'action' => 'display', '/' . Configure::read('homepage')));