Cita:
Iniciado por masterpuppet Que tal carlos_belisario,
Hay algo que no entiendo, si tu router es capaz de darse cuenta cual es el controller y el action, como no puede parsear el resto de parámetros ?, en todo caso deberías postear el router.
Saludos.
porque no he encontrado la manera de hacer que los obtenga solo logro que obtenga 1
Código PHP:
Ver original<?php
class FrontController {
public static function Main() {
$controllerDir = "controller/";
// Obtenemos el controlador y la accion
if(isset($_GET['controller'])){ $controller = $_GET['controller'];
}
else{
$controller = "index";
}
if(isset($_GET['action'])){ $accion = $_GET['action'];
}
else{
$accion = "index";
}
/**lo que hice anoche inventado loqueras*/
foreach($_GET as $key => $value){
if($key != "controller" && $key != "action"){
$parametros[] = $value;
}
}
}
/*lo que hice anoche inventado loqueras**/
$controllerFile = $controllerDir . $controller . "_controller.php";
if( !file_exists( $controllerFile ) ) { // Si no existe el archivo lanzamos una excepcion throw new FrontControllerException( "No se encontro el archivo especificado" );
}
$controllerClass = $controller . "Controller";
if( class_exists( $controllerClass, false ) ) { // Si existe el archivo pero no esta la clase lanzamos otra excepcion throw new FrontControllerException( "El controlador fue cargado pero no se encontro la clase" );
}
require_once($controllerFile);
$controllerInst = new $controllerClass();
if( !is_callable( array( $controllerInst, $accion ) ) ) { // Comprobamos si la accion es posible llamarla throw new FrontControllerException( "El controlador no tiene definida la accion $accion" );
}
else {
/**lo que hice anoche inventado loqueras*/
$controllerInst->$accion($parm);
}
/*lo que hice anoche inventado loqueras**/
else{
$controllerInst->$accion(); // Llamamos a la accion y dejamos el proceso al controlador
}
}
}
}
?>
este es una clase FrontController que consegui hace tiempo leyendo sobre este patron, y funciona bien, de echo creo que solo modifique algunas cosas nada mas, y claro anoche haciendo pruebas hice lo de los paramtros que es lo que esta entre comentarios
Cita: /**lo que hice anoche inventado loqueras*/