Una mirada a Symfony: Cambiando la cultura del desarrollo plano

Luego de seguir al pie de la letra una maquetación precámbrica, simple y hasta un poco tediosa, decidí documentarme un poquito más sobre el manejo de Framework para el desarrollo de sitios coquetos y complejos, ya que el enfoque que le estoy dando a mi estudio está sobre PHP, me incline por Symfony (ya que es uno de los más poderosos y sencillos de usar) para luego meterme de lleno con Zend Framework.

Ventajas de usar Symfony

  • Simplifica el desarrollo
  • Estructura de código fuente más legible.
  • Encapsula operaciones complejas en instrucciones sencillas.
  • Separa la lógica del negocio, lógica del servidor y presentación de la aplicación.
  • No se debe reinventar la rueda.

Características de Symfony

  • Fácil de Instalar.
  • Es sencillo de usar pero permite crear sitios Web complejos. Está basado en la premisa “Convenir en vez de configurar”
  • Independiente del gestor de bases de datos.
  • Sigue la mayoría de las mejores prácticas para la Web.
  • Código fácil de leer que incluye comentarios phpDocumentor y permite un mantenimiento sencillo
  • Los formularios incluyen validación automatizada y relleno automático de datos “repopulation”.
  • Los datos incluyen mecanismos de escape que permiten una mejor protección contra los ataques producidos por datos corruptos. (Por ejemplo los famoso XSS y el tipo de datos corruptos en los (blind) SQL Injection).
  • El sistema de enrutamiento y las URL limpias permiten considerar las direcciones de las páginas como parte de la interfaz, además de estar optimizada para los buscadores.
  • Las interacciones con AJAX son fáciles de implementar mediante los helpers que permiten encapsular los efectos de JavaScript compatibles con todos los navegadores en una única línea de código.

Conceptos básicos implementados en Simfony

Bueno quizás no sean tan básicos, pero para los modelos que existen hoy en día estos son una base.

  • PHP 5.
  • Programación Orientada a Objetos (POO).
  • Manejo de métodos mágicos (estos son usados en PHP).
  • PEAR (PHP Extension and Application Repository) : Framework creado para componentes de PHP reutilizables.
  • Mapeo de Objetos a Bases de Datos (ORM) Object Relational Mapping: Permite traducir la lógica de los objetos a la lógica relacional.
  • Desarrollo rápido de aplicaciones (RAD) : Conceptos de KISS (Keep It Simple, Stupid), (Don’t Repeat Yourself : No te repitas), TDD (Test-Drive Developer: Desarrollo Basado en Pruebas), XP (Extreme Programming: Programación Extrema).
  • YAML (YAML Ain’t Another Markup Language ): Formato para serializar datos que es fácil de procesar por las maquinas, fácil de leer por las personas y fácil de interactuar los lenguajes de script. Es similar a la descripción de datos en XML pero con una sintaxis mucho más sencilla.

Requisitos para Usar Symfony

Bien para entender Symfony y vivir una experiencia al extremo solo es necesario manejar los conceptos básicos de la programación moderna (POO), el mapeo de objetos a bases de datos (ORM) y desarrollo de aplicaciones (RAD). El único requisito obligatorio es manejar PHP 5.

Fuentes de información

– Como la gran fuente para documentarme en este tema esto siguiente la lectura de un excelente libro : http://www.librosweb.es/symfony_1_2

Por DMK
Hakuna Matata!

1 Comentario

  1. Responder

    Muy bueno !!

Deja un comentario

Your email address will not be published. Required fields are marked *

You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>