Foros del Web » Programando para Internet » PHP » Zend »

Módulos y submódulos en Zend Framework

Estas en el tema de Módulos y submódulos en Zend Framework en el foro de Zend en Foros del Web. ¡Buenas! Llevo unos días iniciándome en ZF, y ya estoy logrando controlar el MVC, y me estoy acostumbrando a programar siempre con clases, la verdad ...
  #1 (permalink)  
Antiguo 23/12/2011, 01:36
 
Fecha de Ingreso: diciembre-2011
Ubicación: Zaragoza
Mensajes: 2
Antigüedad: 12 años, 4 meses
Puntos: 1
Módulos y submódulos en Zend Framework

¡Buenas! Llevo unos días iniciándome en ZF, y ya estoy logrando controlar el MVC, y me estoy acostumbrando a programar siempre con clases, la verdad es que todo el código resultante queda mucho más estructurado :D

Para practicar, había decidido empezar un pequeño portal. En él, tenía pensado una estructura de directorios que, ahora que me doy cuenta, no es del todo posible. Quería que consistiera en páginas como un blog, admin del blog, un portal, admin del portal, etc.

Por lo que llevo aprendido, las URL funcionan con la sintaxis
Código:
http://www.example.com/{controller}/{action}
Y para mi caso en concreto, necesitaría algo como
Código:
http://www.example.com/blog/{controller}/{action}
http://www.example.com/blog/admin/{controller}/{action}
Llevo toda la noche investigando, y lo máximo que he llegado a leer era algo acerca de módulos/submódulos, pero no he encontrado documentación al respecto, ni llegado a entender su forma de trabajar

¿Alguien tiene idea del tema?

¡Un saludo! ^^
  #2 (permalink)  
Antiguo 23/12/2011, 08:39
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 12 años, 11 meses
Puntos: 261
Respuesta: Módulos y submódulos en Zend Framework

Cita:
Iniciado por Dev_NIX Ver Mensaje
[...]Llevo toda la noche investigando, y lo máximo que he llegado a leer era algo acerca de módulos/submódulos, pero no he encontrado documentación al respecto, ni llegado a entender su forma de trabajar[...]
Buenas,

El tema de module/submodule lo pregunte hace algún tiempo por aquí. Y la conclusión fue que Zend no soporta este tipo de estructura. En todo caso hay que crearlo "a mano" y no te asegura la compatibilidad con el resto de componentes.

En tu caso podrías hacer algo así:
Código:
//con la estructura:
http://www.example.com/{module}/{controller}/{action}

//obtener algo así
http://www.example.com/blog/{controller}/{action}
http://www.example.com/blog-admin/{controller}/{action}
Donde blog y blog-admin son módulos distintos.

Y blog-admin sería el módulo blogadmin. Con un routeregex haces un rewrite para que aparezca en la url con el guión.

Cuando trabajas más con Zend te das cuenta que con esta estructura es más que suficiente para abordar, me atrevería a decir que casi cualquier proyecto.

Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #3 (permalink)  
Antiguo 23/12/2011, 11:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Módulos y submódulos en Zend Framework

Exacto, una de las ventajas de Zend es que no esta totalmente atado a la URL, tu puedes crear las rutas que quieras como las desees y atarlas a un module/controller/action.
  #4 (permalink)  
Antiguo 26/12/2011, 10:43
 
Fecha de Ingreso: diciembre-2011
Ubicación: Zaragoza
Mensajes: 2
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Módulos y submódulos en Zend Framework

Cita:
Iniciado por Uncontroled_Duck Ver Mensaje
En tu caso podrías hacer algo así:
Código:
//con la estructura:
http://www.example.com/{module}/{controller}/{action}

//obtener algo así
http://www.example.com/blog/{controller}/{action}
http://www.example.com/blog-admin/{controller}/{action}
Donde blog y blog-admin son módulos distintos.
Imagino que será crear una carpeta módulo (por ejemplo "blog") en el directorio applications, y dentro meter las carpetas MVC, ¿no?

Cita:
Iniciado por Uncontroled_Duck Ver Mensaje
Y blog-admin sería el módulo blogadmin. Con un routeregex haces un rewrite para que aparezca en la url con el guión.
Ahí me he perdido. Ahora no tengo tiempo, pero mañana investigaré por los routeregex. De todos modos, ¿eso sería creando un subdirectorio dentro del módulo? Siento la ignorancia

Cita:
Iniciado por Uncontroled_Duck Ver Mensaje
Cuando trabajas más con Zend te das cuenta que con esta estructura es más que suficiente para abordar, me atrevería a decir que casi cualquier proyecto.
Eso espero algún día, trabajar mucho más con Zend y abordar buenos proyectos

¡Muchas gracias por la ayuda! Espero aprender lo suficiente como para poder ayudar a otros tambien ^^
  #5 (permalink)  
Antiguo 26/12/2011, 13:46
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 12 años, 11 meses
Puntos: 261
Respuesta: Módulos y submódulos en Zend Framework

Cita:
Iniciado por Dev_NIX Ver Mensaje
1) Imagino que será crear una carpeta módulo (por ejemplo "blog") en el directorio applications, y dentro meter las carpetas MVC, ¿no?

Cita:
Iniciado por Uncontroled_Duck Ver Mensaje
Iniciado por Uncontroled_Duck
Y blog-admin sería el módulo blogadmin. Con un routeregex haces un rewrite para que aparezca en la url con el guión.
2) Ahí me he perdido. Ahora no tengo tiempo, pero mañana investigaré por los routeregex. De todos modos, ¿eso sería creando un subdirectorio dentro del módulo? Siento la ignorancia
1) Mas o menos puede quedarte una estructura así:

Imagen de: http://www.maestrosdelweb.com/editorial/guia-zend/

Aquí puedes encontrar información al respecto.

Y para más detalle en la web oficial

2) En el primer mensaje tenias una referencia similar a esta:
http://www.example.com/blog/admin/{controller}/{action}

Al hacerlo con estructura modular la parte [...]/blog/admin/[...] podría ser [...]/blog-admin/[...]

El directorio que contiene este module, sería blogadmin. Pero si quieres que en la url aparezca separado por un guión (o un guión bajo) creas un routeregex, que reescribe la url.

Entonces cuando pones la dirección www.loquesea.es/blog-admin/ Zend reconoce que hay un route que asocia el module "blog-admin" de la url al module blogadmin que existe en la aplicación.

Mas o menos y resumido, muy muy resumido es a eso a lo que me refería.

De todas formas cuando lo trastees y leas más al respecto entenderás mejor a que me refiero.

Saludos y felices fiestas,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #6 (permalink)  
Antiguo 27/04/2012, 15:59
 
Fecha de Ingreso: abril-2007
Mensajes: 20
Antigüedad: 17 años
Puntos: 0
Respuesta: Módulos y submódulos en Zend Framework

Hola, sobre los módulos, si vas a trabajar con ellos tendrías que cambiar la estructura de tu proyecto. Como la que te pone @Uncontroled_Duck.

Para trabajar con módulos siempre tiene que existir el modulo "default". Si estas usando la zend_tool lo puedes crear así: "zf create module default". Zend_tool modificara tu proyecto para que trabaje de ahora en adelante con módulos.

Si vas a crear el modulo "blog" no recomendaría crear otro modulo "admin-blog" o similar, la administración (creo yo), sigue siendo parte del modulo. La separación estaría en los controller/action.

La URL que tendrías seria algo así: http://example.com/blog/{controller}/{action}

Si deseas tener un URL's del tipo:
http://example.com/blog/{controller}/{action}
http://example.com/blog/admin/{controller}/{action}

Puedes usar "route" para ello. Que solo modificara la presentación de la url, pero no la estructura de la aplicación, es decir solo para mejorar como se ve.

Salu2.
  #7 (permalink)  
Antiguo 27/04/2012, 16:45
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Módulos y submódulos en Zend Framework

Para trabajar con modulos el modulo default no es obligatorio y de hecho en la estructura recomendada por Zend default no existe, es application directamente.
__________________
http://es.phptherightway.com/
thats us riders :)
  #8 (permalink)  
Antiguo 27/04/2012, 17:23
 
Fecha de Ingreso: abril-2007
Mensajes: 20
Antigüedad: 17 años
Puntos: 0
Respuesta: Módulos y submódulos en Zend Framework

@masterpuppet ¿estas seguro?. Entonces si creas un modulo "blog" por ejemplo, la ruta http://example.com a donde te va llevar?
  #9 (permalink)  
Antiguo 27/04/2012, 20:26
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Módulos y submódulos en Zend Framework

Si, estoy seguro, personalmente lo utilizo de esa forma y la ruta que comentas te lleva al IndexController que esta en application/controllers

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #10 (permalink)  
Antiguo 27/04/2012, 22:44
 
Fecha de Ingreso: abril-2007
Mensajes: 20
Antigüedad: 17 años
Puntos: 0
Respuesta: Módulos y submódulos en Zend Framework

Vale, lo tendré que probar, recuerdo que tiempo atrás, tuve errores por no crear el modulo "default" ya que ZF buscaba por defecto ese modulo.

Suelo dejar que Zend Tool maneje la estructura de directorios.

Salu2.
  #11 (permalink)  
Antiguo 28/04/2012, 04:25
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 12 años, 11 meses
Puntos: 261
Respuesta: Módulos y submódulos en Zend Framework

Cita:
Iniciado por anata Ver Mensaje
Vale, lo tendré que probar, recuerdo que tiempo atrás, tuve errores por no crear el modulo "default" ya que ZF buscaba por defecto ese modulo.
[...]
De todas formas esto se puede configurar en application.ini
Código:
...
resources.frontController.defaultControllerName = "index"
resources.frontController.defaultAction = "index"
resources.frontController.defaultModule = "default"
...
Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #12 (permalink)  
Antiguo 29/04/2012, 16:10
 
Fecha de Ingreso: abril-2007
Mensajes: 20
Antigüedad: 17 años
Puntos: 0
Respuesta: Módulos y submódulos en Zend Framework

Cierto @Uncontroled_Duck, se puede configurar. Pero yo iba a como lo hace o hacia zend_tool.

@masterpuppet, tienes toda la razón, probé nuevamente con la zend_tool y es como dices.

Salu2.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:04.