¿Y como funciona todo esto?
Tomando como ejemplo la siguiente URL:
http://localhost/mvc/index.php?controller=libros&action=listar
El recorrido detallado es el siguiente:
- El usuario accede siempre por el index.php, aquí se incluye el FrontController y se inicia nuestro sistema.
- El FrontController incluye los ficheros básicos, averigua el controlador y la acción,incluye el controlador, crea una instancia del mismo y llama a la acción correspondiente.En este caso el controlador es Libros_Controller y la acción (método) es listar().
- La acción listar() de Libros_Controller incluye el modelo que necesita (Libros_Model) y crea una instancia, solicita todos los datos y se los pasa a la instancia de la vista junto con el nombre de la plantilla a renderizar (libros_listar.php).
- La vista incluye la plantilla y asigna la variable $libros.
- El usuario recibe en pantalla el listado de todos los libros.