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

Benjamín

Soy Benjamín Gonzales B, desarrollador de Software con más de 10 años de experiencia, me apasiona todo lo relacionado a las nuevas tecnologías y el software libre. Me gusta investigar , leer y aprender cada día algo nuevo. Desarrollo en LINUX,PHP, JAVA, C#, Javascript, MySql, SqlServer, entre otros y actualmente ando experimentando con lenguajes funcionales como: Erlang, Clojure y Scala. Y otros no funcionales como GO.

Latest posts by Benjamín (see all)

ZF2 Introducción a los Módulos I
Compartir
Tweet about this on TwitterShare on Facebook1Share on Google+0Share on LinkedIn0Email this to someonePin on Pinterest0Share on Tumblr0Share on Reddit0Share on StumbleUpon0
Etiquetado en:        

Un pensamiento en “ZF2 Introducción a los Módulos I

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *