La primera decisión que tenemos que tomar es si vamos a trabajar con una estrucutra modular o si directamente usaremos los directorios que nos ha creado por defecto NetBeans (en realidad ha sido el propio zf.sh ejecutando el comando “create project”).
El uso de módulos presenta numerosas ventajas a la hora de realizar una web de tamaño medio-grande. Entre la más útiles es la reutilización de nuestros módulos en otros proyectos.
Para empezar a usar módulos, utilizaremos las tareas automatizadas que nos ofrece Zend Tools. Para ello pulsamos con el botón derecho cobre el nombre de nuestro proyecto y en el menú contextual vamos a Zend > Run Comand

media_1304413775674.png

En la ventana que aparece podemos ejecutar comandos para cerar determinadas acciones dentro de nuestro proyecto. Crearemos el módulo por defecto con el comando “create module” y como nombre de módulo “default”, esto nos creará el directorio “default” dentro de “modules” y ademas, nos añadirá la linea resources.frontController.moduleDirectory = APPLICATION_PATH “/modules” dentro del application.ini (en el directorio configs dentro de nuestro proyecto) para que podamos funcionar usando módulos. Justo debajo de esta linea vamos a introducir nosotros manualmente otra para decirle que cuando no se le especifique ningún módulo, use el default como módulo predeterminado, ponodremos: resources.frontController.defaultModule = “default”

media_1304414130514.png

Ahora nuestro application.ini debería de tener este aspecto.

media_1304414372171.png

Si teneis problema a la hora de cargar alguna clase, añadid al application.ini la siguiente linea: resources.modules[] =
Al crear el módulo default, tendremos nuestra estrcutura de directorios de la siguiente manera:

media_1304415361942.png

Pero los tres directorios que nos crea dentro del módulo estarán vacios, por lo tanto tendremos que crear los controladores y vistas necesarias. Para ello volveremos a utilizar los comandos que nos ofrece el zf.sh, esta vez haremos create create controller index index-action-included[=1] default

media_1304415563519.png

Esto nos creará el controlador IndexController, y la vista del la acción Index, del controlador IndexController.

media_1304417761235.png
También es importante crear (se pueden copiar directamente) el controlador y las vistas para el manejo de errores (ErrorController.php)
Cada módulo tendrá su propio bootstrap.php y es importante crearlo en cada uno de ellos o podemos tener problemas como errores al cargas las clases.