Mi opinión oficial sobre Symfony2

La fecha tan esperada desde hace ya mucho tiempo ha llegada finalmente. Ya estuvimos esperando desde el año pasado varias veces el famoso lanzamiento de Symfony2 y hoy ha llegado el día oficial por lo que no me gustaría dejar pasar este día tan esperado sin dejar una impresión de meses de pruebas con varios preview releases, beta versions y release candidates.

Mi primera impresión sobre esta nueva versión después de trabajar con Symfony desde la versión 1.0 es, SE ESCRIBE MUCHO!!!. La magia que hasta ahora nos regalaba Symfony 1 con sus archivos .yml eran realmente muy útiles pero lastimosamente tuvieron que sacrificar esto para lograr mayor performance.

Data Hydrators con Symfony 1.4 y Doctrine

Muchas veces busque alguna buena documentación sobre los Data Hydrators de Doctrine más como ejemplos que simples explicaciones y luego de mucha pelea logré entenderlos bien como para trabajar a gusto con ellos por lo que me gustaría dejarlo por escrito por si pueda serles de utilidad.
Yo lo explicaría diciendo que Doctrine utiliza Data Hydrators para la transformación de los Doctrine_Query que usamos al momento de hacer nuestros DQLs. Es decir, un DQL generado por nosotros nos sirve para generar dinámicamente el SQL necesario para ejecutarlo contra la base de datos y nos devuelve de alguna manera información de la base de datos que por lo general lo hubiésemos denominado un ResultSet. Estos datos devueltos vienen en un formato que Doctrine maneja y los Data Hydrators nos permiten decirle que nos devuelve de cierta manera que podamos manipularlos más fácilmente. A esta proceso de transformación se le denomina «hidratar los datos» y nos sirve para manipularlos como objetos, arrays o como un dato específico a lo que se le denomina escalar.

Symfony 1.4, jQuery y Ajax

Symfony en sus versiones anteriores contaba con helpers interesantes para la creación de links y formularios utilizando Ajax utilizando prototype. Así como existe hoy en día el helper para link link_to() existía un link_to_remote() que era capaz de crear el código JavaScript necesario para la llamada Ajax. Con el tiempo, en las versiones más maduras del framework esto fue eliminado y se creó un plugin que utiliza jQuery llamado sfJqueryReloadedPlugin que continúa con las funciones más utilizadas. El enlace al plugin lo pueden encontrar aquí donde podrán ver la documentación necesaria.

La idea de este artículo NO es sobre la utilización del plugin sino sobre cómo ejecutar las llamadas Ajax directamente desde cero para entender la idea y poder hacer lo que necesitemos sin depender del plugin.