En ZF2 los módulos presentan un enfoque distinto y muy poderoso con respecto a ZF1 (ahora es más modular que nunca), fue diseñado tomando como base tres grandes principios: simpleza, flexibilidad y re-utilización. Esto hace que los módulos sean prácticamente independientes y que puedan funcionar por sí solos, incluso fuera de una aplicación de Zend.
Los módulos pueden contener casi cualquier cosa: código PHP (incluyendo la funcionalidad MVC), librerías, scripts de vista, archivos públicos (JavaScript, css, imágenes, etc) entre muchas cosas más, las posibilidades son infinitas!.
Si lo prefieres, los módulos lo puedes empaquetar en un phar y sus variantes ( .phar, .phar.gz, .phar.bz2, .phar.tar, .phar.tar.gz, .phar.tar.bz2, .phar.zip, .tar, .tar.gz, .tar.bz2, and .zip)
ZF2 no tendrá ningún problema de trabajar con ellos.
El sistema de módulos en ZF2 ha sido pensado para ser útil como fundamento genérico y potente para que los desarrolladores y otros proyectos pueden crear sus propios módulos o sistemas de plugins.
Una estructura recomendada para un módulo orientado al MVC sería lo siguiente:
MyModule/ Module.php autoload_classmap.php autoload_function.php autoload_register.php config/ module.config.php public/ images/ css/ js/ src/ MyModule/ code-files tests/ phpunit.xml
MyModule
El nombre de nuestro módulo vendría a ser el NameSpace que se usará en los archivos contenidos y debería cumplir las mismas reglas de nomenclatura que un NameSpace (valga la redundancia).
Module.php
Es la puerta de entrada a nuestro módulo, ya que contendrá lo necesario para interactuar con el gestor de módulos, dentro de esta clase se pueden hacer cosas como: sobreescribir la configuración inicial y/o proporcionar una configuración adicional a la aplicación, realizar tareas de inicialización registrando autoloads, declarar dependencias, entre otras muchas cosas mas.
autoload_classmap.php
autoload_function.php
autoload_register.php
El motivo de estos tres archivos es proporcionar mecanismos predeterminados para la carga automática de las clases contenidas en el módulo y consumir el módulo sin necesidad de usar Zend\ModuleManager. Estos archivos le dan la autonomía suficiente como por ejemplo para poder usar el módulo fuera de una aplicación de ZF2.
Se puede prescindir de ellos, ya que si no lo usamos Zend\ModuleManager
se encargará de hacer el trabajo por nosotros.
module.config.php
Contendrá la configuración de la aplicación, las rutas, las urls, configuración de los controladores, vistas, entre otros.
public
En este folder contendrá los archivos públicos
src
En en carpeta contendrá Controladores, vistas, modelos, formularios, etc, será el core de nuestro módulo
test
En esta carpeta estará lo necesario para poder hacer las pruebas unitarias a nuestro módulo, ya dependerá de uds extenderlo para poder hacer pruebas a todo lo contenido en el el módulo.
En el siguiente post ya veremos mas a fondo como crear módulos y como configurarlo, espero sus comentarios
Quality content is the important to invite the users
to go to see the site, that’s what this web page is providing.