
22/08/2010, 19:38
|
 | Colaborador | | Fecha de Ingreso: marzo-2009 Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 10 meses Puntos: 101 | |
Respuesta: seleccionar controladores y vistas en MVC Veo. Gracias por publicarlo.
Lo que estas haciendo con el constructor y con el metodo route() es definir rutas locales y absolutas para distintas carpetas. Yo a eso lo hago con define() para que esten disponibles en todas las clases. Pero veo que vos usas metodos magicos. Esos metodos son tácitos y no hay que redeclararlos? Van a estar presentes dentro de las demás clases o hay que pasarlos como parámetros?
Luego seteas un controlador dependiendo de una variable get:
$controller = $_GET['controlador'];
Mismo con una acción:
$action = $_GET['accion'];
A eso lo he visto en el framework Zend. Y quisiera aprender a implementarlo.
Más adelante definis idioma en session y en cookie. E incluís una pagina de idioma que supongo que contiene variables especificas para el idioma.
Y finalmente hay un método loader() que supongo que carga las clases automáticamente en vez de hacer includes para cada una?.
En fin, lo que me haría falta es definir un Controller abstracto, e implementarlo con varios otros controladores que serían llamados por una variable get (que siempre debe estar definida, no?).
También debería aprender a ligar los controladores con las vistas. En tu FrontController vos tenés esto:
$vista=$config->get('path') . '/controladores/' . $nombre[0] . '/templates/';
$config->set('vista',$vista);
Pero no estás instanciando la vista aún, no? |