El nuevo sistema de Módulos de Zend Framework 2
Por Carlos Nacianceno, @igormx
En Zend Framework 2 se introduce un nuevo sistema de manejo de módulos. Si bien ZF1 ya contaba con un sistema modular, éste tenía algunas limitantes como poca flexibilidad, soporte limitado para su reutilización y distribución.
Los módulos en ZF2 son flexibles porque, no tienen que forzosamente estar atados al MVC, pueden contentener sólo servicios, plugins, librerías como Doctrine o controladores, todo eso y más, es decir, no debe de tener un solo uso.
En cuanto a la reutilización y distribución los módulos en ZF2 es extremadamente sencilla, por ejemplo, con el simple hecho de copiar nuestro módulo a otro proyecto y activarlo en el archivo de configuración del mismo ya será tomado en cuenta. Esto permite a los desarrolladores crear módulos comunes y aplicarlos en varios proyectos. Aquí también entra la distribución que puede ser hecha manualmente o a través de Composer, Packagist, GitHub, Pyrus o http://modules.zendframework.com/. También puedes usar modulos que otros programadores o empresas ofrecen.
Los módulos deben de tener un nombre de directorio válido (este nombre también será el namespace), un archivo Module.php y una clase Module dentro de él. Al estar registrado en la configuración el Module Manager de ZF2 buscará la clase y ejecutará los eventos registrados primero de inicialización y si es necesario de ejecución. Entre estos eventos tenemos el ServiceListener,OnBoostrapListener y otros.
Espero que esta introducción les sea útil. Saludos.