lunes, febrero 11, 2008

¡Primera versión de surforce-base disponible!

La idea de este proyecto es poder contar con una estructura base para construir proyectos usando el framework Zend. De la mano vienen detrás dos proyectos más que son surforce-modules y surforce-library, buscando centralizar todo lo posible e incrementar el reuso de código.

Esta es la primera versión de surforce-base, todavía tiene algunos detalles que iré mejorando en los próximos días, pero es completamente funcional ;-)

Contempla todo lo que vengo hablando hace bastante tiempo en los foros de los proyectos: poder tener módulos independientes que contengan dentro de su estructura todos sus elementos, es decir, sus controladores, modelos y vistas (todo se origina a partir del patrón de diseño MVC).

Me basé en la estructura que arma ZendStudio a partir de su wizard, le ajusté algunos detalles y le agregué el soporte para leer el config.ini y un modelo para poder a su vez conectarse a la base de datos (la estructura de datos es la misma de surforce-cms).

Para instalarlo solo hay que bajarse del svn los fuentes de surforce-base y luego en el directorio library bajar tambien de su svn el framework Zend (solo copiar la carpeta Zend que está en el directorio library del repositorio del framework).

Actualmente si lo probamos, funciona de la siguiente forma:

http://localhost/surforce-base

Responde el controller por defecto que se encuentra en:

application/default

Si ejecutamos un módulo, como noticias:

http://localhost/surforce-base/noticias/

Y esto sigue los siguientes pasos:
  1. usa el controller por defecto del módulo noticias

    /application/noticias/controllers/IndexController.php

  2. pasa a la vista (según el action por defecto)

    /application/noticias/views/scripts/index/index.phtml

  3. como requiere datos, se los pide al modelo

    /application/noticias/models/Noticias.php
Nota: el subdirectorio index de la estructura para la vista corresponde al nombre del controller, no del action, el action es representado por el archivo index.phtml (todo es un tema de convenciones de nombres).

Creo que a partir de ahora se puede estructurar en un repositorio centralizado todos los módulos que puedan ser reusados (noticias, usuarios, etc), y a partir de una estructura base ordenada poder empezar a desarrollar cualquier proyecto.

Los fuentes listos para bajarlos y usarlos

http://code.google.com/p/surforce-base/

También puedes suscribirte al foro para darme una mano.

Si me da el tiempo, ya empiezo a subir módulos básicos en el otro proyecto que se complementa con el anterior:

http://code.google.com/p/surforce-modules/

Y en cascada vendrá luego una librería

http://code.google.com/p/surforce-library/


Documentación
http://framework.zend.com/manual/en/zend.controller.modular.html

Bien, a desarrollar con Zend se ha dicho ;-)

No hay comentarios.: