lunes, 18 de junio de 2012

Zend Framework Modular - Netbeans


A través de los diferentes post se ha trabajado sin estructura modular, todos los controladores se encuentran dentro de la carpeta CONTROLLERS,  dentro de las ventajas de utilizar una aplicación modular  se encuentran: ejecutar ciertas acciones por modulo mediante su propio Bootstrap, reutilizar modelos, mejor entendimiento de aplicaciones grandes y/o complejas y aplicaciones flexibles y escalables.

Utilizando Netbeans seria de la siguiente forma


1. Click derecho sobre el proyecto y buscamos zend  para utilizar comandos.



2. Digitamos en Filter module y aparecerá la sintaxis del comando para crear el modulo, en parametros escribimos el nombre del módulo


3. de forma automatica Zend Tools creará el modulo y adicionará lineas de configuración en application.ini


4. Al crear el módulo la carpeta controllers esta vacia, crearemos el controller index y la vista del indexAction

5. adicionamos lineas de configuración en application.ini, para determinar el módulo por defecto.

En application.ini
[production]
….
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.params.prefixDefaultModule = "1"
resources.frontController.defaultModule = "default"
resources.modules[] = ""



6. estructura modular, reorganizando los controllers que estaban por fuera de los modulos, se puede dejar models por fuera para reutilizar código. 
Se crean los Bootstrap de los módulos.

El Bootstrap del modulo  default será:

class Default_Bootstrap extends Zend_Application_Module_Bootstrap{
    
     
}



7. En el nombre de los controllers, a excepción del módulo default todos deben tener como primer nombre, el del módulo.

Con estos pasos nuestra estructura modular estará funcionando sin inconvenientes, mucha suerte


4 comentarios:

  1. Perdon pero agregar el modulo admin, y luego hablas del default.
    Podras explicarlo bien?

    ResponderEliminar
    Respuestas
    1. Saludos, en el punto 2 se crea el modulo admin como ejemplo, podria se default o cualquier otro según el proyecto. Cuando me refiero al modulo "default" es el tiene algunos temas diferentes a los otros modulos creados, como por ejemplo, los nombre de los controladores.

      Eliminar

Gracias por sus comentarios!