public static function actuar(Cf_Solicitud $peticion) { $controlador = $peticion->getControlador() . 'Controlador'; //definimos la ruta al controlador $rutaControlador = SITE_ROOT . 'mvc' . DS . 'controladores' . DS . $controlador . '.php'; $metodo = $peticion->getMetodo(); $args = $peticion->getArgumentos(); //verifcamos que el archivo existe con la funcion de PHP is_readable if (is_readable($rutaControlador)) { require_once $rutaControlador; $controlador = new $controlador(); if (is_callable(array($controlador, $metodo))) { $metodo = $peticion->getMetodo(); } else { $metodo = 'index'; } if (isset($args)) { call_user_func_array(array($controlador, $metodo), $args); } else { call_user_func(array($controlador, $metodo)); } } else { header('Location: ' . Cf_BASE_URL . 'error/'); } }