Gracias
Italico76!
Esto me ayuda a reforzar conceptos y código que ya tenía hecho. De todas formas sigo pensando en las maneras de centrarlizar los "cruces" en el camino de la aplicación web.
Porque he visto durante meses que dicho camino es igual en casi todos los MVC, tanto teórico como práctico, incluso yo escribo código como tu me dices.
El problema está en que una aplicación como un blog, algo aparentemente pequeño, puede crear problemas a la hora de añadir funcionalidades. Así que esta estructura, entiendo que viene muy pero que muy bien, para algo sencillo y de una sola tarea. El problema viene cuando el usuario interactua con, por ejemplo, un blog y distintas funcionalidades.
El problema radica en cómo decirle al controller que instancie un modelo u otro y a su vez cómo decirle a un modelo si tiene que terminar en un view o devolver un objeto para otra clase.
No sé si esto sería escalabilidad o cómo se llamaría, pero hasta ahora, este modelo, lo que me ha generado es uno o varios documentos largos donde detectaba cada variable get y post, ahí está el problema, en no terminar con uno o varios archivos para generar el content (parte dinámica de la web) tal que así:
Código PHP:
Ver original/*
* si el usuario se ha identificado
*/
if(isset($_REQUEST['unlogin'])){ print_unlogin();
\
header('Location:'.$_SERVER['REQUEST_URI']); }
elseif(isset($_SESSION['user'])){ print_html_unlogin();
}
/*
* si pulsa sobre contact
*/
if(isset($_REQUEST['option']) AND
$_REQUEST['option']=='contact'){ print_contact();
if(isset($_REQUEST['menu']) AND
$_REQUEST['menu']=='no_sent'){ contact_menu_no_sent();
}
if(isset($_REQUEST['menu']) AND
$_REQUEST['menu']=='sent'){ contact_option_sent();
}
if(isset($_REQUEST['menu']) AND
$_REQUEST['menu']=='bloqued'){ contact_menu_bloqued();
}
if(isset($_REQUEST['menu']) AND
$_REQUEST['menu']){ contact_menu_rest();
}
}
/*
* si pulsa sobre timeline
*/
elseif(isset($_REQUEST['option']) AND
$_REQUEST['option']=='timeline'){ return print_timeline();
}
etc. etc. etc.
Voy a buscar la manera de reducir todo un documento o varios así para instanciar los modelos y generar las vistas en un front controller y controller. una especie de cuello de botella por donde pase todo el tráfico/camino entre el usuario, el controlador, el modelo y la vista.
Y sobre todo, que sea fácil de entender :D
De nuevo gracias! ;)
Un saludo.