Symfony 5: Novedades
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.
Recomendado: Curso de Symfony
¿Qué corrige esta nueva versión?
Para empezar con ella se solucionan algunos bugs que se tenían pendientes (ver documentación oficial aquí):
- 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](https://github.com/symfony/symfony/commit/0e5db6a03334afeb3c5cc565a7f8c881ff9a9328)
y el deObjectLoaderTest
. - Se actualizó el código la fábrica de codificadores
¿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. (Ver documentación oficial aquí).
- 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. (Ver documentación oficial aquí).
¿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
ySymfony\Component\Mime\Crypto\SMimeEncrypter
, (Ampliar aquí). - 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, …) (Ampliar aquí)
- 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. (Ampliar aquí) - También se incluye
AutoMapping
, el cual nos posibilita la validación de un modelo sin especificar las aserciones correspondientes. (Ampliar aquí) - Se mejora el uso y la declaración de los EventsListeners, mediante el uso del método __invoke (Ampliar aquí)
- 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')
.(Ampliar aquí) - 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.(Ampliar aquí) - También se mejora el comando
lint:twig
, el cual no necesita especificar la ruta de los templates a evaluar..(Ampliar aquí)
Y finalmente como era de esperar, después del lanzamiento de PHP 7.4, Symfony 5 aprovecha sus mejoras..(Ampliar aquí). Quieres saber más, te invitamos a cursar nuestro curso de Symfony 5 en el que verás todas estas novedades en mayor detalle.