De a poco va tomando forma los distintos componentes para empezar a trabajar con Zend y reusar todos los módulos que podamos.
surforce-base
Ya tiene un módulo de ejemplo "noticias" que está andando bien. Solo queda resolver el tema del header y footer para que todos los módulos puedan acceder de forma centralizada a los mismos sin tener que repetirlos en cada sección de las vistas de cada módulo (en la nueva estructura cada módulo tiene dentro sus modelos, controladores y vistas, no tienen un lugar común). La solución estaría por un controller genérico que heredarían todos los controllers de los módulos y este estaría en suforce-library.
surforce-library
Se subió la primer versión con una estructura inicial con clases de ejemplo. La idea es que instalando una vez surforce-base, hay que instalar dentro del directorio "library" (igual que si fuera Zend) la librería Zsurforce. El proyecto base ya hace uso de clases de la librería.
surforce-modules
Tiene el mismo módulo de ejemplo de surforce-base ("noticias"), la idea de este repositorio es tomar lo que sirva y luego exportar (no sirve copiar los archivos, ya que irían los .svn y seguirían referenciando a los proyectos originales) en nuestro proyecto particular, para tener algo donde empezar y no de cero (más adelante se buscarán otras opciones). A pesar que el módulo "noticias" es igual en ambos repositorios (surforce-base y surforce-modules), se deja para facilitar las pruebas (también está el módulo "default").
Las urls que responden son:
http://localhost/surforce-base/ -> módulo "default"
http://localhost/surforce-base/noticias -> módulo "noticias"
Dentro de poco estoy agregando módulos como: usuarios, contactos, faqs, menú, etc.
Nota: "noticias" hace uso de conexión a la base de datos, en el directorio "sql" está su estructura y en application está config_sys.ini para cambiar los parámetros de conexión (config_app.ini solo es para cambiar particularidades de la aplicación, como títulos, etc).
Bueno, en las próximas horas más novedades. ;-)
Como convertirse en un "Desarrollador PHP Senior" y no morir en el intento... escrito por Enrique Place
¡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:
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 ;-)
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:
- usa el controller por defecto del módulo noticias
/application/noticias/controllers/IndexController.php - pasa a la vista (según el action por defecto)
/application/noticias/views/scripts/index/index.phtml - como requiere datos, se los pide al modelo
/application/noticias/models/Noticias.php
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 ;-)
Mejoras en Google Code: navegar el código fuente del repositorio SVN
Esas cosas mágicas que tiene Google ;-), entro a uno de los proyectos libres en los cuales estoy trabajado y veo que no encuentro el link que me permitía navegar el código fuente desde el propio navegador.

Primero pienso que se debe a que el repositorio está vacío, pero luego de hacer unas pruebas me sorprendo con que el menú de la sección "source" tiene ahora tres sub-pestañas: Checkout, Browse y Changes.

Al entrar a Browse veo que tiene un arbol para navegar los directorios y luego de seleccionar un fuente lo muestra "coloreado". De la misma forma al entrar a Changes la visualización de cambios está también muy pulida.
También encuentro que ahora puedo navegar por el código elegantemente coloreado (se ve que lo hace un javascripts, ya que primero presenta el código y luego le da color).
Una ventana informativa donde notifica los últimos cambios y los comentarios que se hacen sobre los mismos.
Y la posibilidad de ver en línea las diferencias entre revisiones está muy bien (tiene unos detalles la opción "diff" que hace que quede muy ancha la pantalla).
Así da gusto recibir actualizaciones ;-)

Primero pienso que se debe a que el repositorio está vacío, pero luego de hacer unas pruebas me sorprendo con que el menú de la sección "source" tiene ahora tres sub-pestañas: Checkout, Browse y Changes.

Al entrar a Browse veo que tiene un arbol para navegar los directorios y luego de seleccionar un fuente lo muestra "coloreado". De la misma forma al entrar a Changes la visualización de cambios está también muy pulida.



Así da gusto recibir actualizaciones ;-)
Luego de mi visita relacionada con PHP y Argentina
Hacía muchos años que no iba a Argentina de visita, la última vez fue hace casi 8 años y estuve viajando en avión visitando algunos países de latinoamérica, principalmente por trabajo (me bajaba del avión, tomaba un taxi, iba hasta la empresa / evento, luego al hotel, y a los días de retorno a casa).
En esta visita sumamos el placer con el trabajo y no quise perder la oportunidad de hablar personalmente con colegas que solo nos conocíamos a través del blog, de este blog, bajo los mismos temas: PHP, Surforce, proyectos libres, desarrollo, web 2.0, etc.
Tuve el placer, a pesar del poco tiempo, de conocer y charlar un buen rato con personas muy agradables:
No pude sacar muchas fotos, menos de nuestras charlas, pero para la próxima espero poder juntarnos de nuevo y poder hablar con más desarrolladores o empresas que estén vinculadas al desarrollo de sistemas web y en particular con PHP, para intercambiar puntos de vistas, proyectos y tendencias.
En esta visita sumamos el placer con el trabajo y no quise perder la oportunidad de hablar personalmente con colegas que solo nos conocíamos a través del blog, de este blog, bajo los mismos temas: PHP, Surforce, proyectos libres, desarrollo, web 2.0, etc.
Tuve el placer, a pesar del poco tiempo, de conocer y charlar un buen rato con personas muy agradables:
- Fui a visitar la empresa Moviclips, donde trabaja Pablo Morales (quién está ahora en sus tiempos libres como desarrollador responsable de surforce-social) y posteriormente tuve una entrevista con su jefe, Diego Helmann. Ambos me parecieron muy buenas personas y tuvimos unas charlas muy entretenidas.
- Me junté con el gurú argentino de PHP el señor Pablo Rigazzi. Qué puedo decir de él, todo un personaje, tanto a la distancia como en persona ;-). Me alegro que ahora me diga que va a dejar de hacer frameworks y empieza a dedicarse de lleno a usar Zend en sus proyectos comerciales (por fin deja de inventar ruedas una y otra vez ;-)).
- También me junté con Dario Ocles, otro colega y colaborador en sus tiempos libres de los proyectos de Surforce. Darío está trabajando en fnbox.com, empresa argentina que tienen entre sus proyectos a sonico.com, un sitio de red social. Lamentablemente y a pesar que moví un día mi retorno a Uruguay no pude concretar una entrevista con ellos para conocerlos personalmente (si me hubiera podido quedar otro día tal vez iba por mi cuenta sin avisar ;-)).
No pude sacar muchas fotos, menos de nuestras charlas, pero para la próxima espero poder juntarnos de nuevo y poder hablar con más desarrolladores o empresas que estén vinculadas al desarrollo de sistemas web y en particular con PHP, para intercambiar puntos de vistas, proyectos y tendencias.
Plugin: TortoiseSVN dentro de Eclipse
A pesar que Eclipse soporta a través de módulos servicios como SVN, muchas veces usando subeclipse, este puede no funcionar correctamente (me pasa generalmente con el primer checkout) o vernos limitados en las funcionalidades que traen otras herramientas.

Si estás en el ambiente Windows, uno de los clientes más completos es TortoiseSVN, que se integra al explorador y ofrece muchas opciones de consultas para revisar los cambios de los fuentes (como el famoso "blame" que permite saber exactamente qué línea tocó cada uno de los desarrolladores sobre un mismo fuente).

Si estando dentro de Eclipse extrañas las funcionalidades de TortoiseSVN, puedes usar este plugin para tener todo integrado en la misma herramienta.
PD: gracias Fabian Bueno por tu aporte ;-)
Si estás en el ambiente Windows, uno de los clientes más completos es TortoiseSVN, que se integra al explorador y ofrece muchas opciones de consultas para revisar los cambios de los fuentes (como el famoso "blame" que permite saber exactamente qué línea tocó cada uno de los desarrolladores sobre un mismo fuente).

Si estando dentro de Eclipse extrañas las funcionalidades de TortoiseSVN, puedes usar este plugin para tener todo integrado en la misma herramienta.
PD: gracias Fabian Bueno por tu aporte ;-)
Nos vamos de paseo a Argentina
Me voy con mi familia y de paso voy a visitar a colegas que están relacionados con el mundo PHP, como Pablo Morales (Moviclips, surforce-social) y el gurú Pablo Rigazzi (ZonaPHP, forosdelweb, etc).
Más detalles en el blog personal ;-)
Más detalles en el blog personal ;-)
Suscribirse a:
Entradas (Atom)
Entradas populares
-
He visto mucha documentación que habla sobre el tema de los métodos "getter / setter", o traducido al castellano los métodos ...
-
Esto es lo que pasa cuando tienes entornos que no son homogéneos y cada aplicación se encuentra ubicada en distintas márgenes de un "rí...
-
Uno de los problemas que me he encontrado con la versión 5 de PHP es la falta de la representación de los "paquetes" desde el prop...
-
Este es un resumen de conclusiones que se vertieron en una discusión sobre el tema en Foros de Web , donde se plantea la duda de si PHP5 ...
-
Este es un ejemplo publicado a partir de la duda de un usuario , y como son preguntas que se hacen reiteradamente, les dejo el ejemplo aquí ...
-
Esta reflexión se la escribo a todos los "Programadores PHP": Al día de hoy la mayoría de los institutos o universidades de muchos...
-
El Patrón " Singleton " sirve para cuando buscamos restringir la creación de instancias de un objeto, obligando que solo se pueda ...
-
Hace un tiempo que vengo recomendando esta presentación como punto de partida para definir un estándar de desarrollo en una empresa. En ambi...
-
Bueno, luego de revisarlo una y otra vez (y otra vez) ya se encuentra terminada la primer versión del libro que junta toda la experiencia ac...
-
Estoy viendo muy seguido en foros que frecuento regularmente a muchos programadores que quieren dar " el gran salto " y evolucion...