Symfony2.4: Novedades – Framework

Completando el artículo anterior en el que vimos  el nuevo componente Language Expression y el nuevo servicio Request Stack, en este artículo vamos a ver qué más novedades se introducen en la versión 2.4 del Framework.

ContainerAwareTrait

A partir de esta versión está disponible ContainerAwareTrait, con este trait (y si usamos PHP 5.4+) lo que podemos hacer es usarlo en nuestros controllers para tener acceso al container sin tener que extender de ContainerAware.

Security

Api Key Authenticador

Hay una receta en el cookbook acerca de esto. Con este mecanismo será más fácil autenticar usuario vía una API key.

Restringir firewall a un dominio específico

Ahora podemos indicar el host en un firewall para que sólo se aplique a ese host:

Soporte para los códigos de estado de HTTP

Se han añadido constantes a la clase Response con los código de estado:

Console

Se pueden registrar comandos como servicio

A partir de esta versión se podrán registrar los comandos como servicios, por lo que no es necesario que estén dentro del directorio Command. Esto se hace a través de un nuevo tag console.command:

Método clear en ProgressHelper

Se ha añadido el método clear que borra la barra de progreso de la línea.

TableHelper::LAYOUT_COMPACT

Se ha añadido otro layout para las tablas.

Métodos isQuiet, isVerbose, isVeryVerbose y isDebug

Se han añadido estos métodos a la clase Output para hacer las comprobaciones del verbosity de una forma más semántica.

CommandTester

Se ha añadido esta clase detecta el nombre del comando que debe ejecutar y ya no hay que pasar el nombre en el array.

DomCrawler

Auto-descubrimiento y registro explícito del namespace

 Método disableValidation

Este método permite deshabilitar la validación de los formularios:

Filesystem

Se ha añadido IOExceptionInterface

Antes para las excepciones se capturaba IOException y ahora es un objeto de tipo IOExceptionInterface que contiene el método getPath:

HttpFoundation

Método getEncodings

Se ha añadido el método a Request que devuelve una lista de los charsets aceptados ordenados de mayor a menor calidad.

Método setFactory

Este método en Request permite añadir métodos o cambiar el comportamiento del Request, esto en principio no se debe usar para modificar la Request, pero es posible que en aplicaciones legacy tenga sentido.

Process

Métodos flushOutput y flushErrorOutput

Estos métodos de Process hacen flush del contenido del output y del contenido del output de error.

Método setIdleTimeout

El idle timeout hace referencia al tiempo que pasa desde la última vez que un proceso produce algún output. Con este método configuramos el tiempo que tiene que pasar para que sea time out.

Monolog

Excluir errores 404

Con MonologBundle 2.4 se pueden excluir errores 404 de los logs cuando usamos el handler fingers_crossed mediante expresiones regulares:

Session

Existe la posibilidad de indicar cada cuanto tiempo se persiste la sesión.

Validator

El constraint Callback se ha simplificado

Antes había que indicar a nivel de clase qué métodos tenía que llamar, ahora es a nivel de método.

Mejorado el constraint Image

Ahora se puede indicar también restricciones sobre el ratio de la imagen (ancho/alto) y permitir orientación.

Twig

Variable submitted en formularios

Se ha añadido la variable submitted en un formulario para saber si se ha enviado o no.

Tag stopwatch

Este tag nos permite medir el tiempo que se tarda en renderizar lo que hay dentro y se mostrará en el profiler.