logoImagina
iconCurso
Te recomendamos nuestro curso de Symfony 6
Descubre el curso de Symfony 6
Ir al curso
Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *

Symfony 5. Novedades de la última versión

iconImage
Publicado 2024-03-01
Actualizado el 2024-03-21

Todas las Novedades de Symfony 5

Symfony, es el framework de PHP quizás por excelencia, y es que aunque su curva de aprendizaje pueda resultar un tanto pronunciada al principio, su estructura, firmeza, seguridad y escalabilidad lo marcan como un framework a tener en cuenta. Así, el pasado 21 de Noviembre de 2019, se lanzó la primera versión estable de Symfony 5. Dicha release venía a mantener el cambio disruptivo que supuso la 4, corregir los bugs existentes y añadir nuevas mejoras a la versión anterior.

Te recomendamos consultar nuestro Curso de Symfony para aprenderlo todo sobre este framework tan poderoso.

¿Qué corrige Symfony 5?

Para empezar con ella se solucionan algunos bugs que se tenían pendientes:

  • Restricciones de grupo al llamar al validador.
  • Se corrigió el volcado de alias obsoletos.
  • Nombres de los botones con letras mayúsculas.
  • Se corrigió el código de ContainerLoader y el de ObjectLoaderTest.
  • Se actualizó el código la fábrica de codificadores.
Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *

¿Y qué aporta?

Se ponen en valor los nuevos componentes (alguno ya existente desde la versión 4.3.):

  • El componente String proporciona una única API orientada a objetos para trabajar con tres "sistemas unitarios" de cadenas: bytes, puntos de código y clústers de grafos.
  • Messenger proporciona un bus de mensajes con la capacidad de enviar mensajes y luego manejarlos inmediatamente en su aplicación o enviarlos a través de transportes (por ejemplo, colas) para ser manejados más tarde.

¿Qué mejora Symfony 5?

Otras mejoras a reseñar son:

  • La posibilidad de firmar y encriptar los emails. Para ello, podremos recurrir a los componentes Symfony\Component\Mime\Crypto\SMimeSigner y Symfony\Component\Mime\Crypto\SMimeEncrypter.
  • Además este componente de envío de emails permitirá validar aserciones relativas a los envíos de emails: (Número de envíos, Dirección de envío, Contenido del envío, Número de Adjuntos, …).
  • Por otro lado se incluye la opción de Emails de notificación, usando la clase Symfony\Bridge\Twig\Mime\NotificationEmail
  • Se mejoran los tipos de formatos en los formularios, añadiendo weektype y la posibilidad de añadir varios tipos de datos.
  • También se incluye AutoMapping, el cual nos posibilita la validación de un modelo sin especificar las aserciones correspondientes.
  • Se mejora el uso y la declaración de los EventsListeners, mediante el uso del método __invoke.
  • Mejoras en el componente HttpClient, ahora se incluyen nuevas funcionalidades tales como el debugueo de respuestas mediante $response->getInfo('debug'), la cancelación de peticiones ya realizadas en cualquier momento, y la posibilidad de convertir respuestas a streams de PP usando la clase $response->getInfo('debug').
  • Con respecto a la inyección de dependencias mediante el comando lint:container podremos detectar si los argumentos inyectados en el container son correctos o no.
  • También se mejora el comando lint:twig, el cual no necesita especificar la ruta de los templates a evaluar.

Y finalmente como era de esperar, después del lanzamiento de PHP 7.4, Symfony 5 aprovecha sus mejoras. Si quieres saber más, te invitamos a cursar nuestro Curso de Symfony en el que verás todas estas novedades en mayor detalle.

Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient