Entradas con la etiqueta ‘zend’

Cambios, cambios y más cambios

Martes, 16 de Septiembre de 2008

Aderezados con trabajo, del de verdad, del que desespera y del que motiva, hace que haya dejado en “Stand By” el retorno del blog durante semanas, más de lo que me prometí en un momento.

Empezaremos por el principio; Dejé PrisaCom y a los chorizos de Expectra, dejé la comodidad, el horario, las amistades, la falta de estabilidad, los despidos y sobretodo la necesidad de currar y hacerme valer.

Me costó unos días de llamadas de extraños que pedían mi CV y me ofrecían maravillas. Un viaje a Francia con parte de la cabeza aquí, en Madrid. Dos o tres entrevistas realmente interesantes y por fin, aquí estoy!

He pasado de dormir de 7 a 15 a no descansar de 9 a 18. Pero sus beneficios son claros, Coronel Tapiocca, Supratech, Inmocapital, Faunia,… Y otros tantos que se sumarán; Y esto solo en unas semanas!

Entremedias tuvimos un viaje al sur de Francia. Donde recorrimos Carcassona, Touluse, Perpignan, Roquefort y sus cuevas y unos cuantos pueblecitos más, donde descubrimos que no toda Francia es París y sus precios y su “simpatía“. Será por qué en el sur de Francia respiran mucho aire español? No se, pero gracias!

También ha llegado mi primer trabajo oficial como freelance; Asimag se mojó y confió. Y gracias a la ayuda de un gran amigo, no defraudamos, y ahora nos encontramos en su lista de contactos. Ole!

Prometo poner un post explicando los pasos para empezar a ser empresario, hacer una factura, pagar el iva, y darse de baja. Todo “express” y en pocos días. Seguro que algún futuro freelance lo agradecerá.

Con el cambio de curro y de horario viene el cambio académico más importante que pienso dar. Dejar la Complutense para empezar en la UNED. Las razones son muchas y entre ellas, el odioso plan bolonia. Eso si, es el cambio más importante y después de este solo acepto otro. El título! No hay excusas!

Todo lo anterior y la lectura de dos grandes libros (en todos los aspectos, con casi 2000 hojas entre ambos) como han sido Las Nieblas de Avalón de Marion Zimmer Bradley y La Historiadora de Elizabeth Kostoval, han conseguido dejar un poco estancado el tema del framework que alcanzó la versión 1.6 recientemente.

Aunque, ahora que dejé a mi querida HyoCo durmiendo en el garaje y disfruto de media hora de lectura/escritura diarias en el metro de Madrid, prometo volver. Por ahora con la lectura de dos grandes. Profesional Ajax (un libro con bastante tiempo pero con muy buenas bases) de Zakas, Nicholas C. ; McPeak, Jeremy  y Fawcett, Joe. Y Patrones de diseño de Erich Gamma. Dos buenos libros para asentar bases y conocimientos, no os preocupéis algo escribiré al respecto, ya que dan para mucho contar. También tengo ganas de probar esa nueva utilidad del ZF. La zend_tool. Ya comentaré como de útil la veo.

Vamos, como siempre, mucho que contar y poco tiempo para hacerlo.

En 5 minutos.

Lunes, 4 de Agosto de 2008

Y es que 5 minutos es todo el tiempo que voy a poder dedicar para contar:

  • Que el viaje al sur de Francia fue genial, y Caldea mejor todavía ;-)
  • Que Expectra (por fin) y PrisaCom (por desgracia), llegan a su fin. Antes de Septiembre podré decir aquí:

    “Hola Tecknosfera

  • Que tengo un pequeño proyecto como freelance del cual, hoy tendré la primera reunión, a entregar antes del 25 de Agosto.
  • Que la HyoCo está camino de una revisión urgente, pasa ya los 8.500km
  • Que el festival del fin de semana pasado, el Yeste, estuvo genial, que el viernes me voy a Águilas y el puente del 15 a Alicante (tres fines de semana seguidos que cojo la A3)
  • Que el sábado seré padrino!!
  • Y alguna otra cosa más que se me queda en el tintero, como cosas que quiero contar sobre sites nuevos, continuar con el framework de Zend y cosas así.

Bueno, eso es más o menos todo, pero como se puede ver el no me deja mucho tiempo para escribir. Vamos, no he tenido tiempo ni para fregar los platos…

Intentaré ir ampliando cada una de las lineas según vaya teniendo más tiempo.

Estructura de archivos en Zend para varios proyectos.

Viernes, 11 de Julio de 2008

Bueno, en muchos sitios he visto estructuras de archivos ((por ejemplo la usada en el manual base de Zend, la que usa Enrique Place en SurforceCMS o la que comentaba Pablo en ZendHispano)) para el framework de Zend. La mayoría de las propuestas son derivadas del “manual base” y IMHO todos tienen un fallo, la reutilización y la posibilidad de crear nuevos proyectos en el mismo servidor.

En la actual empresa en la que estoy trabajando, tenemos cerca de una treintena de proyectos activos, si para cada uno tuviesemos que seguir estas estructuras se volvería todo un caos. Aqui, en cambio, usamos una estructura inversa. Definiendo tan solo tres directorios de las que depende todo:

  • Public
  • Private
  • Config

Y cuando realizamos un nuevo desarrollo introducimos la abreviatura única en las tres carpetas. Por ejemplo si tuviesemos una nueva aplicación de comercio online ((Es tan solo un ejemplo.)) y decidimos titularla “compras” introduciríamos en los tres directorios el correspondiente subdirectorio

  • Public.
    • compras
  • Private.
    • compras
  • Config.
    • compras

A simple vista puede parecer más lioso, pero una vez empiezas a usarlo ves las ventajas. Ya que todo tiene la misma estructura, todo es accesible de una forma sencilla, la administración no se hace tan incontrolable y sobretodo consigues separar la parte pública de la privada, fundamental en servidores cara a internet.

Otra de las adaptaciones que he realizado viene por necesidad. En el servidor donde está alojado mi dominio usan cPanel ((No se si en otros lados será igual)), y la forma de crear subdominios es creando los subdirectorios directamente en public_html ((Siendo accesibles como sudominio.dominio.com o dominio.com/subdomino))

Bueno, pues visto lo visto e aquí mi adaptación:

La estructura de archivos para el framework de ZendComo se puede ver el screenshot está sacado del EasyEclipse ((Copiando metodología de desarrollo de Enrique Place)), Y está basado en el desarrollo del Proyecto01 del que ya hablamos.

Para todo el proyecto usaremos el nombre “afm” que es un acrónimo del site.

  • config->afm: En este directorio añadimos la configuración base del site.
  • library: En library añadimos el framework de Zend y el resto de librerías externas que podamos ir necesitando para el desarrollo ((Como por ejemplo HTML Purifier, Blueprint o cualquier otra aplicación externa))
  • private->afm: En este subdirectorio incluimos toda la parte privada de la aplicación.
    • admin y default: Lo primero que vemos son los módulos; en este caso solo “admin” y “default” ((Para mantener más la integridad de la estructura, el módulo “default” tambien lo incluyo como subdirectorio)). En cada módulo incluyo la “subestructura base” típica:
      • controllers: Aquí guardamos los “controladores” del módulo. Usando la forma de trabajar, MVC, del framework de Zend podemos poner las vistas en el directorio “views” a la misma altura ((Aunque como todo en ZF siempre puedes configurarlo a tu gusto)) que “controllers“.
      • views: Aquí incluimos los subdirectorios necesarios para toda la parte de la “vista” (”filters“, “helpers“, “scripts“, “layouts“,…).
    • models: Esta es la zona donde se guardan todos los “modelos” necesarios para el site.
  • public_html: De aquí colgará toda la parte publica de la web ((Siguiendo la estructura “impuesta” por el cPanel el directorio “public_html/” alberga el site principal y cualquier subdominio cuelga como subdirectorio de “public_html/“)). En este caso el subdominio se llamará, para mantener la integridad claro, “afm“.
    • public_html->afm: La información aquí suele ser básica, el “.htaccess” que redirige toda la información a “index.php” y el propio “index.php“. Aqui también irán todas los posibles directorios con la información pública: estilos, imágenes, javascripts…

Como se puede ver la estructura es fácilmente adaptable para incorporar nuevos sites, para reutilizar posible código y para tener una librería única en la que incluir el framework, a parte, claro de la necesidad de separar la parte de privada de la parte pública del site.

Con respecto a la forma de trabajar de una estructura “habitual” la única diferencia radica en el “index.php” y en el “Bootstrap.php” que deben tener en cuenta el “salto de un directorio más“. Pero, como por ahora estoy puliendo mi “Bootstrap.php” ((Basandome en el usado por Pádraic Brady para el desarrollo de su Blog con Zend Framework)) (el “index.php” ya tiene una versión “estable“) lo dejaré para el siguiente post…

Pero si tenéis alguna duda, o no os gusta, o tenéis alguna sugerencia, no lo dudes, más abajo tenéis los comentarios!