TEMA DE LA CONFERENCIA:

Sencillez de PHP, rapidez y versatilidad de Symfony

CONFERENCISTA:

Yonel Meza

CONTENIDO:

Que es PHP

PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.

 

QUE NOS PROVEE PHP

  • Es un lenguaje multiplataforma.
  • Completamente orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una Base de Datos.
  • El código fuente escrito en PHP es invisible al navegador y al cliente ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura y confiable.
  • Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.
  • Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext’s o extensiones).
  • Posee una amplia documentación en su página oficial ([4]), entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda.
  • Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
  • Permite aplicar técnicas de programación orientada a objetos.
  • Biblioteca nativa de funciones sumamente amplia e incluida.
  • No requiere definición de tipos de variables aunque sus variables se pueden evaluar también por el tipo que estén manejando en tiempo de ejecución.
  • Tiene manejo de excepciones (desde PHP5).
  • Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar (muchos otros lenguajes tampoco lo hacen), aun estando dirigido a alguna en particular, el programador puede aplicar en su trabajo cualquier técnica de programación y/o desarrollo que le permita escribir código ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón de diseño Modelo Vista Controlador (o MVC), que permiten separar el tratamiento y acceso a los datos, la lógica de control y la interfaz de usuario en tres componentes independientes (ver más abajo Frameworks en PHP).

QUE ES SYNFONY

Symfony es un Framework PHP pensado y diseñado para optimizar el desarrollo de aplicaciones web. Basado en la idea de Ruby on Rails, Symfony ha aunado en uno las ventajas de este y otros framewors existentes, ha incorporado ideas propias y el resultado es un framework elegante, estable, productivo y muy bien documentado.

 

QUE NOS PROVEE SYNFONY

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)
  • Sigue la mayoría de mejores prácticas y patrones de diseño para la web
  • Independiente del sistema gestor de bases de datos
  • 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
  • Sencillo de usar en la mayoría de casos, pero lo suficientemente flexible como para adaptarse a los casos más complejos
  • 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
  • Basado en la premisa de “convenir en vez de configurar”, en la que el desarrollador solo debe configurar aquello que no es convencional
Características de Symfony

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

  • Facilita la internacionalización.
  • Uso de plantillas en la capa de presentación.
  • Incorpora Lime, un sistema propio de Symfony para realizar tests unitarios.
  • Validación automatizada y relleno automático de datos en los formularios.
  • Usa técnicas de escape para evitar injección de código.
  • Sistema de caché eficiente.
  • 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.
  • URLs semánticas que facilitan la tarea SEO.
  • Paginación automatizada.
  • 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.