Symfony2.2: Novedades

Al igual que hicimos con la versión 2.1, en este artículo veremos las novedades que hay en Symfony2.2. La versión 2.3 está muy cerca de ser estable (el viernes pasado salió la versión beta 2), esta versión será la primera LTS y tendrá muchos cambios.

Vamos a ver las novedades 2.2, actualmente la última versión estable.

Fragment Sub-framework

Uno de los cambios más importantes ha sido el refactor de esta parte, en la versión 2.1 hubo problemas de seguridad y todo esto se ha solucionado con esta novedad. En este artículo están explicados todos los cambios.

FrameworkBundle

Se ha añadido la posibilidad de deshabilitar el profiler a través de la configuración.

De esta forma se puede aumentar la velocidad de los test funcionales.

Routing

Se ha cambiado pattern por path

A partir de ahora cuando se definen las rutas se usará path en vez de pattern.

Se ha cambiado _method por methods

En lugar de especificar los métodos dentro de requirements, se hace a través de methods.

Se ha añadido soporte para host

Esto es una de las novedades más esperadas que en un principio iba a estar disponible en la versión 2.1, pero se retrasó a la versión 2.2. Lo que nos permite es poder especificar el host en la ruta:

Security

Se han añadido las clases StringUtils y SecureRandom

Estas clases están ahora disponibles y nos permiten cosas como generar números aleatorios seguros o comparar strings protegiéndonos de los timing attacks.

Se han añadido PBKDF2 y BCrypt como password encoders

Además de los que había, ahora podemos codificar los passwords con PBKDF2 y BCrypt.

Templating

Se ha añadido soporte para rutas con namespaces

Esto nos permite definir rutas a los templates así:

Se ha añadido la función render e include

En lugar de  {% include 'path' %} y {% render('...') %}  ahora existen include y render como función:

Se ha añadido la posibilidad de especificar un template por defecto en la función render

Config Component

Se han añadido los nodos numéricos float e integer

Console Component

En el componente Console han habido varias novedades muy interesantes, como el autocompletado y una mejor interacción (progress bar, ocultar el input del usuario y poder seleccionar una opción de una lista).

DependencyInjection Component

Se ha añadido la posibilidad de preconfigurar un bundle

Esto se hará mediante el método prepend

Finder Component

Este componente incluye varias mejoras, entre ellas te permite buscar un fichero o directorio usando expresiones regulares y usar wildcards.

HttpFoundation Component

Se ha añadido la clase AcceptHeader para acceder a la información de las cabeceras Accept-*

Se ha añadido BinaryFileResponse

Ya lo vimos en un artículo.

Process Component

En esta versión se han introducido varias mejoras:

  • Obtener salida incremental de un proceso
  • Reiniciar un proceso
  • Obtener estado de un proceso

PropertyAccess Component

Es un nuevo componente que permite acceder a las propiedades de un objeto como ya vimos.

Routing Component

Se ha añadido el método addPrefix que antes formaba parte de addCollection

Stopwatch Component

Se ha creado un nuevo componente que permite medir tiempo de ejecución para depurar. Este componente permite en Symfony2 mostrar los tiempos de ejecución en el profiler.

Constraints

Se han añadido validadores para tarjetas de crédito

Por un lado tenemos CardScheme y el algoritmo Luhn.

La versión 2.3 estable está prevista para finales de mes.