Novedades de Symfony 7.3

Novedades de Symfony 7.3

  • Ruben

Symfony 7.3, lanzado en mayo de 2025, introduce una serie de mejoras significativas que optimizan el rendimiento, la seguridad y la experiencia del desarrollador. A continuación, se detallan las principales novedades:

🧩 Comandos Invocables y Atributos de Entrada

Symfony 7.3 simplifica la definición de comandos de consola mediante atributos de PHP. Esto permite declarar argumentos y opciones directamente en la clase del comando, eliminando la necesidad de configuraciones adicionales.

📦 Precompresión de Recursos

Ahora es posible precomprimir archivos CSS y JavaScript, lo que reduce la carga del servidor al evitar la compresión dinámica en cada solicitud. Esto mejora el rendimiento y disminuye el uso de CPU.

🌍 Parámetros Globales de Traducción

Se introducen parámetros de traducción globales reutilizables, lo que facilita la gestión de mensajes multilingües sin necesidad de pasar parámetros explícitamente en cada caso.

🧵 Atributos para Extensiones de Twig

Las extensiones de Twig ahora pueden definirse utilizando atributos de PHP, lo que simplifica su escritura, facilita el mantenimiento y permite una carga diferida por defecto.

🧪 Nuevas Restricciones de Validación

Se añaden dos nuevas restricciones: una para validar slugs y otra para plantillas de Twig, mejorando la robustez de las aplicaciones.

🔐 Verificación de Permisos para Cualquier Usuario

Con el nuevo método isGrantedForUser(), es posible verificar permisos para cualquier usuario, no solo para el usuario autenticado actual, aumentando la flexibilidad en la gestión de autorizaciones.

🛠️ Mejoras en la Experiencia del Desarrollador (DX)

  • Recolección Completa de Deprecaciones en Twig: El comando lint:twig ahora muestra todas las deprecaciones de una vez, facilitando su identificación y corrección.
  • Conversión a PascalCase: Se añade el método pascal() en el componente String para transformar cadenas a PascalCase de manera sencilla.
  • Helper de ID en Formularios: Nueva función field_id() en Twig para obtener el atributo id de campos de formulario de forma más directa.
  • Soporte de Tipos Unión en OptionsResolver: Ahora se pueden definir tipos unión como (int|string)[] en el componente OptionsResolver, aumentando la precisión en la validación de opciones.

🧰 Mejoras en Componentes Clave

  • Serializer: Nuevo normalizador de números, soporte para valores predeterminados en mapas de discriminadores y mejoras en la salida de depuración.
  • Messenger: Middleware de deduplicación, soporte para mantener conexiones activas en Doctrine y mejoras en la ejecución de procesos mediante shell.
  • Routing: Simplificación en la detección de controladores, alias de rutas mediante atributos y alias de parámetros en rutas.
  • Yaml: Opciones para forzar comillas en valores, compactar mapas anidados y manejar entradas vacías de manera más eficiente.

🌐 Nuevas Integraciones y Puentes

Symfony 7.3 amplía su ecosistema con nuevos puentes e integraciones mejoradas, incluyendo soporte para servicios como Amazon SES, Beanstalkd y Redis, fortaleciendo la interoperabilidad con plataformas externas.

🔒 Mejoras en Seguridad

Se implementan mejoras en la seguridad, como el manejo más seguro de contraseñas de sesión, introspección de tokens OAuth2, descubrimiento OIDC, exposición de errores más detallada y verificaciones de acceso basadas en funciones.

Para una lista completa de novedades y detalles adicionales, puedes consultar el artículo original en el blog de Symfony: symfony.com/blog/symfony-7-3-curated-new-features.

  • Desarrollo
  • Symfony
  • PHP
Deja un comentario: