Guía de Symfony2 – Capítulo 13 – Seguridad de Acceso

Hemos llegado al último capítulo de esta Guía de symfony2 con la entrega del capítulo 13 publicado hoy sobre como aplicación la seguridad en el acceso a nuestras aplicaciones.

Una de las cosas que siempre me gustó de Symfony es que ya tiene incluido un soporte muy interesante para la autenticación (login) y la autorización (perfiles o roles). Considero que esta es una tarea muy tediosa cuando la tenemos que hacer a mano mientras que con Symfony ya tenemos toda una arquitectura estándar para trabajar sobre ella.

Para ayudar a entender estos conceptos @maycolalvarez ha creado un ejemplo para hacer un login de usuarios y permitir/denegar acceso a usuarios según roles.

Es muy importante saber que hay Bundles ya creados que ayudan a facilitar más este tema de gran importancia como el FOSUserBundle, el cual animo a los lectores a investigar y decidir cual sea la mejor forma para cada uno.

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 1 – Introducción

Ya hace varios meses venimos trabajando con gente de Maestros del Web para crear una guía de Symfony2 y el día de hoy se ha publicado mi primer capítulo. Esta guía la escribimos en conjunto con @maycolalvarez (maycolalvarez.com) quien también es autor de varios capítulos bien interesantes.

En este primer capítulo explico las diferentes funcionalidades que nos provee Symfony2 como un Framework de desarrollo Web robusto. Vemos una introducción sobre ciertos conceptos para entender la forma de trabajo que tendremos en los siguientes capítulos, hablamos sobre la arquitectura Model-View-Controller, la idea de usar un framework ORM para comunicación con la base de datos y las bondades de trabajar con un motor de plantillas como Twig.

Hemos explicado también que Symfony publica mucha información como documentación oficial que siempre se mantiene actualizada sin olvidar a Javier Eguiluz, gran colaborador, quien hoy en día tiene también publicado un libro en su blog www.symfony.es. Por último, hemos descargado el framework y lo hemos puesto a funcionar.

Esto ya nos da una buena base para continuar con el siguiente capítulo donde hablaremos de la estructura de directorios de Symfony2 y sobre los Bundles que será publicado el próximo miércoles 22 de febrero en http://www.maestrosdelweb.com/guias/

Muchas gracias por el excelente trabajo del equipo de @maestros, @cvander, @stephaniefalla y @eutobar