Nuevas funcionalidades añadidas en Symfony Polyfill 1.15
Los polyfills de Symfony son componentes que implementan algunas funcionalidades de PHP usando código PHP. Esto permite que tu aplicación puede usar funciones, clases y constantes que están definidas en versiones de PHP (y extensiones de PHP) que no tienes instaladas. La versión 1.15 de los polyfills se lanzó recientemente con las siguientes novedades.
Mejoras en el polyfill de PHP 8
PHP 8.0, la siguiente versión mayor de PHP que se lanzará el 3 de diciembre de 2020, añadirá algunas funciones interesantes. Algunas de ellas ya se han añadido al polyfill de Symfony, por lo que puedes empezar a utilizarlas hoy mismo en cualquier aplicación PHP.
Añadida la interfaz Stringable
Stringable
es una nueva interfaz de PHP que se añade automáticamente a cualquier
objeto que implemente el método __toString()
.
Puedes utilizarla en tu código para indicar que aceptas tanto cadenas de texto
como objetos que se pueden convertir en cadenas. En PHP 8 puedes indicar esto
mediante una "unión de tipos" como la siguiente: string|Stringable
.
Puedes leer más sobre esta interfaz en el Stringable PHP RFC.
Esta funcionalidad fue contribuida por Nicolas Grekas en el pull request #224.
Añadida la función get_debug_type()
La nueva función get_debug_type()
devuelve el tipo de la variable que se le
pasa, no importa si es un objeto o una variable simple (integer, boolean, etc.)
Esto permite simplificar el código que antes hacía uso de las funciones
get_class()
y gettype()
:
// Antes throw new TypeError('Expected '.Foo::class.' got '.(is_object($bar) ? get_class($bar) : gettype($bar))); // Después throw new TypeError('Expected '.Foo::class.' got '.get_debug_type($bar));
Puedes leer más sobre esta función en el get_debug_type() PHP RFC.
Esta funcionalidad fue contribuida por Nicolas Grekas en el pull request #226.
Añadida la función str_contains()
La nueva función str_contains()
comprueba si una cadena está contenida en otra
cadena dada. Esta función es útil para reemplazar el código equivalente que hace
uso de las funciones strpos()
y strstr()
y que muchas veces no es tan
intuitivo como sería deseable.
Puedes leer más sobre esta función en el str_contains() PHP RFC.
Esta funcionalidad fue contribuida por Ion Bazan en el pull request #229.
Añadida la función preg_last_error_msg()
La nueva función preg_last_error_msg()
devuelve el último error relacionado
con las expresiones regulares en forma de cadena de texto formateada para humanos.
En las versiones anteriores de Symfony tenías que generar ese mensaje convirtiendo
el código de error devuelto por la función preg_last_error()
.
Esta funcionalidad fue contribuida por Nico Oelgart en el pull request #231.
Mejoras en el polyfill UUID
El polyfill UUID, que se usa en el nuevo componente UID, añadió soporte para generar UUIDs de tipo 3 y 5. Además, se añadió soporte para sistemas de 32-bit, ya que los polyfills tienen que ser compatibles con todo tipo de sistemas.
Esta funcionalidad fue contribuida por Grégoire Pineau y Nicolas Grekas en los pull requests #236 y #240.
Corregida la precarga de PHP
La precarga de PHP es una de las funcionalidades más importantes añadidas en PHP 7.4. Esta funcionalidad permite cargar algunas clases/funciones en memoria y reutilizarlas para todas las peticiones, con lo que se mejora bastante el rendimiento de la aplicación.
En la versión 1.15 de Symfony polyfill hemos corregido algunos errores que impedían la precarga de PHP en algunos componentes.
Esta funcionalidad fue contribuida por Nicolas Grekas en el pull request #239.
Fuente: New in Symfony Polyfills 1.15
Comentarios
Proyectos Symfony destacados
La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.