Guía de Symfony2 – Capítulo 11-B – Integrando jQuery

En respuesta al capítulo anterior sobre Ajax hemos preparado unos ejemplos de implementación usando jQuery para el capítulo publicado el día de hoy.

Como les mencionaba en el artículo anterior para utilizar Ajax la programación es JavaScript y para esto lo haremos utilizando jQuery un framework muy potente y sencillo.

En este capítulo se explica como importar el archivo .js que se descarga del sitio oficial de jQuery, utilizaremos un ejemplo ya visto en el capítulo 9 – Manipulando datos con Doctrine en donde mostrábamos un listado de artículos haciendo que dicho listado sea buscado asíncronamente luego de haber renderizado la página por medio de un botón.

Este capítulo será útil para los que necesiten importar cualquier framework JavaScript no solo para implementar Ajax, como por ejemplo ExtJS, tinymce, lightbox, etc.

Continúa leyendo Guía de Symfony2 – Capítulo 11-B – Integrando jQuery

Guía de Symfony2 – Capítulo 10 – Validación de datos y creación de formularios

Fue publicado el décimo capítulo de la Guía de Symfony2 en maestros del Web y en este capítulo les hablo sobre uno de los temas que más me ha gustado de Symfony desde que empecé a trabajar con el framework: validación de los datos y la creación de formularios.

Para las validaciones hablaremos sobre los @Asserts, simples anotaciones que realizan validaciones poderosas con poco código y vemos que Symfony2 ya nos provee de la gran mayoría que necesitaremos usar.

Hablando sobre los formularios notaremos la gran diferencia de diseñar los formularios y programar los formularios por medio de clases. Me gusta decir que en Symfony, el concepto de un formulario NO es simplemente introducción de texto sino introducción de texto VÁLIDO para la aplicación, libre de los problemas que hoy se tienen al crear un formulario a mano y tener que recordar pelear con ataques CSRF, XSS, SQL Injection y cambios en caliente con herramientas como Firebug.

El sub-framework de formularios es uno de los que más me hicieron sentir la diferencia entre usar un framework y no hacerlo y todavía hay muchas otras herramientas que nos permite usar como los formularios embebidos por lo que hay bastante para aprender.

Continúa leyendo Guía de Symfony2 – Capítulo 10 – Validación de datos y creación de formularios

Guía de Symfony2 – Capítulo 9 – Manipulando datos con Doctrine

Un nuevo capítulo lanzado de la guía de Symfony2 publicado en Maestros del Web. En esta entrega les hablo sobre como podemos manipular datos en nuestra base de datos utilizando Doctrine.

Hablamos en primer lugar sobre en Entity Manager quien se encarga de tratar con los datos y proveernos de esa abstracción. Hablamos sobre los métodos para obtener datos y cumplir las acciones de un CRUD. También y como parte principal hablamos del DQL que nos permite ejecutar SQL sin pensar en el motor ya que son operaciones sobre objetos y utilizamos el repositorio para separar la lógica de las acciones de las interacciones con la base de datos. Por supuesto todo esto lo vemos con ejemplos para plasmar con más claridad la teoría.

Si pensáramos nuevamente en la arquitectura Model-View-Controller (MVC) estaríamos viendo que la presentación de los datos (View) se encuentran en las plantillas, la programación del modelado de datos y trabajo con los mismos (Model) se encuentran en las Entidades y Repositorios.

Continúa leyendo Guía de Symfony2 – Capítulo 9 – Manipulando datos con Doctrine

Guía de Symfony2 – Capítulo 8 – Configurando nuestra base de datos

Después de una semana de descanso para dar lugar a las vacaciones por semana santa, y luego de varios capítulos bien interesantes de Maycol sobre la vista y el controlador, hemos lanzado el capítulo 8 de la Guía de symfony2.

En este capítulo les hablo sobre:

  1. La conexión a la base de datos, tarea que solo implica configurar los datos de conexión.

  2. Vemos las tablas que usaremos de ejemplo para esta guía basándonos en un blog.

  3. Vamos directo al concepto de las Entidades o Entities dentro de nuestro proyecto que nos permite mapear cada tabla a una clase PHP y con esto,

  4. Doctrine es capaz de crear el SQL necesario para generar las tablas e incluso también poder modificar las estructuras si así lo necesitamos.

Como vemos, el framework Doctrine, al tener los datos de la base de datos y de las tablas, nos proporciona un soporte muy potente para trabajar con ellas y eso que solo hemos visto la parte de creación, borrado y modificación de tablas. En los siguientes capítulos trabajaremos manipulando los datos de las tablas y le proporcionaremos aún más información a nuestras entidades para ayudarnos a validar los datos ingresados en nuestros campos.

Guía de Symfony2 – Capítulo 7 – Manejando la Vista con Twig

Ya hemos publicado el séptimo capítulo de la guía de Symfony 2 y hoy se habla sobre la utilización del Framework Twig para la vista.

Existen varios motores de plantillas conocidos para PHP y el mismo fundador del framework Symfony ha hecho un extenso análisis sobre estos antes de elegir Twig como motor por defecto para la versión 2 de Symfony.

Twig nos permite separar completamente nuestro código PHP del resto del código. Antes mezclabamos el HTML con la programación PHP en las mismas páginas, pero hoy tenemos ya la posibilidad de escribir el HTML por un lado y en el controlador ejecutar nuestras acciones y procesar nuestros datos para entregar a la vista solo lo que se debería terminar mostrando. Esto ya es muy útil pero sin embargo todavía deberíamos obtener ese resultado devuelto por el controlador y escribir código PHP para por ejemplo iterar una tabla y mostrarla. Es aquí donde entra Twig permitiéndonos una abstracción y representando los datos provenientes del controlador por medio de la sintaxis de puro texto que nos proporciona.

También tenemos posibilidades muy útiles como la herencia de plantillas y la reutilización de las mismas. Nos provee helpers para trabajar por ejemplo con el sistema de routeo y también de filtros para ejecutar funcionalidades comunes de las funciones de PHP como por ejemplo number_format, date, trabajos con cadenas de textos y escapado de caracteres especiales automático.

En la próxima entrega comenzaremos a hablar de la conexión a la base de datos por unos cuantos capítulos.