Hola GatorV,
disculpa pero estoy un poco "bastante" bastante perdido con esto del frontcontrolle y router, buscando por el foro encontre un ejemplo tuyo, asi que mi frontcontroller lo deje asi:
Código php:
Ver originalclass Router {
public function __construct() {}
public function route() {
$controller = $_GET['controlador'];
$action = $_GET['accion'];
echo $_SERVER['PHP_SELF']."<br/>";
$ubicacion=explode('/',$_SERVER['PHP_SELF']); switch($ubicacion[2]){
case 'admin':
$path='admin/';
break;
case 'area_cliente';
$path='area_clientes/';
break;
default:
$path='';
break;
}
if( empty($controller) ) $controller = 'index'; if( empty($action) ) $action = 'index'; else $action = $action ;
echo "el controlador es: $controller<br/>";
$controllerLocation = $path . 'controllers/' . $controller . 'Controller.php';
include_once( $controllerLocation );
} else {
throw new Exception("No se encuentra el controlador $controllerLocation");
}
$cont = new $controller();
} else {
throw new Exception( "Controller Class not found $controller" );
}
if( method_exits( $cont, $action ) ) {
$cont->$action();
} else {
throw new Exception( "Action not callable $action" );
}
}
}
pero sigo sin hacerlo andar cuando entro al sitio (localhos/singd/) me sale esto:
Cita: Fatal error: Class 'ControllerBase' not found in D:\xampp\htdocs\singd\controllers\indexController. php on line 2
después si quiero entrar al admin (localhost/singd/admin) me sale este error:
Cita: Fatal error: Uncaught exception 'Exception' with message 'No se encuentra el controlador admin/controllers/indexController.php' in D:\xampp\htdocs\singd\libs\FrontController.php:31 Stack trace: #0 D:\xampp\htdocs\singd\admin\index.php(4): Router->route() #1 {main} thrown in D:\xampp\htdocs\singd\libs\FrontController.php on line 31
pero si quiero entrar a area_clientes (localhost/singd/area_clientes) me sale este error:
Cita: Fatal error: Class 'ControllerBase' not found in D:\xampp\htdocs\singd\area_clientes\controllers\in dexController.php on line 2
la verdad que estoy mas perdido que "turco en la neblina" jeje, si me podrías indicar como se puede solucionar estare muy agradecido.