PDF de programación - Symfony, la guía definitiva

Imágen de pdf Symfony, la guía definitiva

Symfony, la guía definitivagráfica de visualizaciones

Publicado el 22 de Abril del 2018
697 visualizaciones desde el 22 de Abril del 2018
3,9 MB
579 paginas
Creado hace 12a (10/07/2007)
www.librosweb.es



Symfony

la guía definitiva



Fabien Potencier, François Zaninotto

AVISO IMPORTANTE



El contenido de este libro es provisional, ya que sus contenidos se siguen
revisando y actualizando con frecuencia.

En el sitio web www.librosweb.es siempre se encuentra disponible la versión
más reciente de los contenidos y de este archivo PDF.

Symfony, la guía definitiva

Capítulo 1. Introducción a Symfony

¿Qué puedes hacer con Symfony? ¿Qué necesitas para utilizarlo? Este capítulo responde a
todas estas preguntas.

1.1. Symfony en pocas palabras

Un framework simplifica el desarrollo de una aplicación mediante la automatización de
algunos de los patrones utilizados para resolver las tareas comunes. Además, un framework
proporciona estructura al código fuente, forzando al desarrollador a crear código más legible y
más fácil de mantener. Por último, un framework facilita la programación de aplicaciones, ya
que encapsula operaciones complejas en instrucciones sencillas.

Symfony es un completo framework diseñado para optimizar, gracias a sus características, el
desarrollo de las aplicaciones web. Para empezar, separa la lógica de negocio, la lógica de
servidor y la presentación de la aplicación web. Proporciona varias herramientas y clases
encaminadas a reducir el tiempo de desarrollo de una aplicación web compleja. Además,
automatiza las tareas más comunes, permitiendo al desarrollador dedicarse por completo a los
aspectos específicos de cada aplicación. El resultado de todas estas ventajas es que no se debe
reinventar la rueda cada vez que se crea una nueva aplicación web.

Symfony está desarrollado completamente con PHP 5. Ha sido probado en numerosos
proyectos reales y se utiliza en sitios web de comercio electrónico de primer nivel. Symfony es
compatible con la mayoría de gestores de bases de datos, como MySQL, PostgreSQL, Oracle y
SQL Server de Microsoft. Se puede ejecutar tanto en plataformas *nix (Unix, Linux, etc.) como
en plataformas Windows. A continuación se muestran algunas de sus características.

1.1.1. Características de Symfony

Symfony se diseñó para que se ajustara a los siguientes requisitos:

• Fácil de instalar y configurar en la mayoría de plataformas (y con la garantía de que

funciona correctamente en los sistemas Windows y *nix estándares)

• Independiente del sistema gestor de bases de datos

2

www.librosweb.es

Capítulo 1. Introducción a Symfony

• Sencillo de usar en la mayoría de casos, pero lo suficientemente flexible como para

adaptarse a los casos más complejos

• Basado en la premisa de “convenir en vez de configurar”, en la que el desarrollador solo

debe configurar aquello que no es convencional

• Sigue la mayoría de mejores prácticas y patrones de diseño para la web

• Preparado para aplicaciones empresariales y adaptable a las políticas y arquitecturas

propias de cada empresa, además de ser lo suficientemente estable como para
desarrollar aplicaciones a largo plazo

• Código fácil de leer que incluye comentarios de phpDocumentor y que permite un

mantenimiento muy sencillo

• Fácil de extender, lo que permite su integración con librerías desarrolladas por terceros

1.1.1.1. Automatización de características de proyectos web

Symfony automatiza la mayoría de elementos comunes de los proyectos web, como por
ejemplo:

• La capa de internacionalización que incluye Symfony permite la traducción de los datos

y de la interfaz, así como la adaptación local de los contenidos.

• La capa de presentación utiliza plantillas y layouts que pueden ser creados por

diseñadores HTML sin ningún tipo de conocimiento del framework. Los helpers
incluidos permiten minimizar el código utilizado en la presentación, ya que encapsulan
grandes bloques de código en llamadas simples a funciones.

• Los formularios incluyen validación automatizada y relleno automático de datos

(“repopulation”), lo que asegura la obtención de datos correctos y mejora la experiencia
de usuario.

• Los datos incluyen mecanismos de escape que permiten una mejor protección contra

los ataques producidos por datos corruptos.

• La gestión de la caché reduce el ancho de banda utilizado y la carga del servidor.

www.librosweb.es

3

Symfony, la guía definitiva

• La autenticación y la gestión de credenciales simplifican la creación de secciones

restringidas y la gestión de la seguridad de usuario.

• El sistema de enrutamiento y las URL limpias permiten considerar a las direcciones de
las páginas como parte de la interfaz, además de estar optimizadas para los buscadores.

• El soporte de e-mail incluido y la gestión de APIs permiten a las aplicaciones web

interactuar más allá de los navegadores.

• Los listados son más fáciles de utilizar debido a la paginación automatizada, el filtrado y

la ordenación de datos.

• Los plugins, las factorías (patrón de diseño “Factory”) y los “mixin” permiten realizar

extensiones a medida de Symfony.

• Las interacciones con Ajax son muy fáciles de implementar mediante los helpers que
permiten encapsular los efectos JavaScript compatibles con todos los navegadores en
una única línea de código.

1.1.1.2. Entorno de desarrollo y herramientas

Symfony puede ser completamente personalizado para cumplir con los requisitos de las
empresas que disponen de sus propias políticas y reglas para la gestión de proyectos y la
programación de aplicaciones. Por defecto incorpora varios entornos de desarrollo diferentes e
incluye varias herramientas que permiten automatizar las tareas más comunes de la ingeniería
del software:

• Las herramientas que generan automáticamente código han sido diseñadas para hacer

prototipos de aplicaciones y para crear fácilmente la parte de gestión de las
aplicaciones.

• El framework de desarrollo de pruebas unitarias y funcionales proporciona las

herramientas ideales para el desarrollo basado en pruebas (“test-driven development”).

• La barra de depuración web simplifica la depuración de las aplicaciones, ya que

muestra toda la información que los programadores necesitan sobre la página en la que
están trabajando.

4

www.librosweb.es

Capítulo 1. Introducción a Symfony

• La interfaz de línea de comandos automatiza la instalación de las aplicaciones entre

servidores.

• Es posible realizar cambios “en caliente” de la configuración (sin necesidad de reiniciar

el servidor).

• El completo sistema de log permite a los administradores acceder hasta el último

detalle de las actividades que realiza la aplicación.

1.1.2. ¿Quién ha desarrollado Symfony y por qué motivo?

La primera versión de Symfony fue publicada en Octubre de 2005 por Fabien Potencier,
fundador del proyecto y coautor de este libro. Fabien es el presidente de Sensio
(http://www.sensio.com/), una empresa francesa de desarrollo de aplicaciones web conocida
por sus innovaciones en este campo.

En el año 2003, Fabien realizó una investigación sobre las herramientas de software libre
disponibles para el desarrollo de aplicaciones web con PHP. Fabien llegó a la conclusión de que
no existía ninguna herramienta con esas características. Después del lanzamiento de la versión
5 de PHP, decidió que las herramientas disponibles habían alcanzado un grado de madurez
suficiente como para integrarlas en un framework completo. Fabien empleó un año entero para
desarrollar el núcleo de Symfony, basando su trabajo en el framework Mojavi (que también era
un framework que seguía el funcionamiento MVC), en la herramienta Propel para el mapeo de
objetos a bases de datos (conocido como ORM, de “object-relational mapping”) y en los
helpers empleados por Ruby on Rails en sus plantillas.

Fabien desarrolló originalmente Symfony para utilizarlo en los proyectos de Sensio, ya que
disponer de un framework efectivo es la mejor ayuda para el desarrollo eficiente y rápido de las
aplicaciones. Además, el desarrollo web se hace más intuitivo y las aplicaciones resultantes son
más robustas y más fáciles de mantener. El framework se utilizó por primera vez en el
desarrollo de un sitio de comercio electrónico para un vendedor de lencería y posteriormente se
utilizó en otros proyectos.

Después de utilizar Symfony en algunos proyectos, Fabien decidió publicarlo bajo una licencia
de software libre. Sus razones para liberar el proyecto fueron para donar su trabajo a la
comunidad, aprovechar la respuesta de los usuarios, mostrar la experiencia de Sensio y porque
considera que es divertido hacerlo.

www.librosweb.es

5

Symfony, la guía definitiva

NOTA
¿Por qué lo llamaron “Symfony” y no “CualquierNombreFramework”? Porque Fabien quería una
nombre corto que tuviera una letra ‘s’ (de Sensio) y una letra ‘f’ (de framework), que fuera fácil de
recordar y que no estuviera asociado a otra herramienta de desarrollo. Además, no le gustan las
mayúsculas. “Symfony” era muy parecido a lo que estaba buscando, aunque no es una palabra
correcta en el idioma inglés (la palabra correcta es “symphony”), y además estaba libre como nombre
de proyecto. La otra alternativa era “baguette”.

Para que Symfony fuera un proyecto de software libre exitoso, debía tener una documentación
amplia y en inglés, para aumentar la incorporación de usuarios al proyecto. Fabien pidió a su
compañero de trabajo François Zaninotto, el otro coautor de este libro, que investigara el
código fuente del programa y escribiera un libro sobre Symfony. Aunque el proceso fue arduo,
cuando el proyecto se lanzó públicamente, la documentación era suficiente como para atraer a
muchos desarrolladores. El resto es historia.

1.1.3. La comunidad Symfony

Nada mas lanzar el sitio web de Symfony (http://www.symfony-project.com/) muchos
desarrolladores de todo el mundo se descargaron e instalaron el framework, comenzaron a leer
la documentación y construyeron sus primeras aplicaciones con Symfony, aumentando poco a
poco la popularidad de Symfony.

En ese momento, los frameworks para el desarrollo de aplicaciones web
  • Links de descarga
http://lwp-l.com/pdf10573

Comentarios de: Symfony, la guía definitiva (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad