Novedades en Symfony 5.4

symfony.jpg
Solucionex
19
Nov 21

Este mes se liberan las versiones 5.4, de largo soporte, y la nueva versión 6 del framework. Ambas compartirán las mismas novedades. Por lo que vamos a hacer un repaso por aquellas que ya han sido anunciadas:

 

Autocompletado de Console

El componente Symfony Console se ha mejorado para que el CLI de nuestros proyectos ya integre autocompletado de comandos.

Ver en detalle

Security Voters más rápidos

Se ha añadido la interfaz CacheableVoterInterface para mejorar el rendimiento de los Security Voters. Ahora cuando creemos un Voter que extienda a la clase abstracta Voter y se haga uso del mismo, Symfony guardará en caché el resultado de la política de seguridad y no volverá a llamar al Voter de nuevo. Esta mejora supone un 40% de mejora en el rendimiento del manejo en los procesos de autorización del componente Security.

Ver en detalle

Atributos Anidados de Validación 

Con la entrada de los PHP Attributes en PHP 8.0, la versión 5.2 de Symfony ya permitía hacer uso de los mismos, concretamente a la hora de definir restricciones de validación. Pero debido a no soportar por el momento los atributos anidados no todas las restricciones estaban cubiertas. Ahora, con la versión 8.1 de PHP esta propiedad ya se incluye y permite a la versión 5.4 de Symfony hacer uso de los PHP Attributes en todas las restricciones de validación, sin excepción alguna.

Ver en detalle

Cambios en los Controladores

Quedan obsoletos los métodos get() del Symfony Request Object, así como los atajos de Controlador get(), has(), dispatchMessage() y getDoctrine(). En su defecto se hará uso de la inyección de los servicios correspondientes en el constructor o en los métodos del Controlador.

Ver en detalle

Alias de Rutas

Para facilitar los procesos de refactorización a los usuarios, en concreto el renombramiento de rutas. Symfony trae en su versión 5.4 una mejora en su componente Routing, esta se trata de los alias de rutas. Esta nueva mejora nos permitirá definir nuevas rutas que actúen como alias de las antiguas, añadiendo a estas últimas el atributo alias para definir su sustituta, así como el atributo deprecated para notificar su uso obsoleto a partir de una versión del proyecto.

Ver en detalle

Soporte de PHP Enumerations

Con la llegada de PHP Enumerations a la versión 8.1 de PHP, Symfony 5.4 añade el soporte de los mismos en diferentes componentes:

  • Se añade un nuevo campo EnumType al componente Symfony Form para representar los PHP enums como una selección de valores.
  • El componente Symfony Serializer permite la normalización y desnormalización de aquellas propiedades de utilicen los PHP enums.
  • Además también se ha añadido el soporte de PHP enums en los componentes VarExporter y DependencyInjection.

Ver en detalle

Nuevas Restricciones de Validación

Dos nuevos validadores/restricciones llegan al componente Validator en Symfony 5.4. Se trata del CIDR Validator y del CssColor Validator.

Ver en detalle

Nueva Clase Path en el componente Filesystem

A partir de la versión 5.4 de Symfony, el componente Filesystem incorporará una nueva clase, Path. Esta clase nos permitirá manipular las rutas de archivos y directorios de una manera más coherente.

Ver en detalle

Rediseño de los Logs del Profiler

En Symfony 5.4 se ha rediseñado por completo la sección de logs. Tanto el contenido de los propios mensajes, como la barra de filtros, se han rediseñado y reordenado para hacer que sean más fáciles de entender e interactuar.

Ver en detalle

Negociación de Idioma

Se añaden nuevas opciones de configuración para integrar la cabecera HTTP Accept-Language en nuestros proyectos.

Ver en detalle

 

Para seguir todas las novedades de Symfony 5.4 y Symfony 6, podéis dirigiros al sitio oficial del framework.