Repasamos las novedades de PHP 7.3

PHP es un lenguaje de programación extremadamente popular, que podemos decir alcanzó su madurez definitiva en la versión de PHP 7, gracias a su sensible mejora de rendimiento y la eliminación del soporte a la mayoría de sus limitaciones. Como proyecto de software libre mantiene una activa Comunidad que no cesa de incorporar novedades y mejoras en el lenguaje. Recientemente, ha visto la luz la versión 7.3 de PHP, que ya está disponible en los servicios de Web Hosting de Arsys con algunas novedades que analizamos en este artículo.

Rendimiento de PHP 7.3

PHP 7.3 ofrece una sensible mejora rendimiento, permitiendo que los proyectos realizados con esta tecnología sean más rápidos. Como se debe saber, el salto de mejora más relevante se produjo desde PHP 5.6 a PHP 7.0, pero a lo largo de cada versión menor, a partir de la 7, se ha ido incrementando los valores de rendimiento.

Si pasar de PHP 5 a PHP 7 suponía (dependiendo del tipo de proyecto) casi triplicar la  velocidad del lenguaje, la evolución desde PHP 7.0 a la actual 7.3 supone prácticamente el doble del rendimiento, medido en requests por segundo con acceso a bases de datos.

Pero ¿Qué podemos esperar si migramos de 7.2 a 7.3? Obviamente entre estas versiones la mejora es mucho menor, pero estamos hablando de un 10% o un 15% de aumento de rendimiento. Es decir, un sitio WordPress configurado con exactamente los mismos parámetros puede aumentar su velocidad más de un 10% solamente por el hecho de actualizar a la última versión del lenguaje.

Novedades en el lenguaje

Además de la mejora del rendimiento, existen novedades en lo que respecta al lenguaje, en  su sintaxis y la API soportada. Los cambios no son excesivamente preocupantes, pues en la mayoría sirven simplemente para aportar mayores posibilidades a los programadores:

  • Permitir una coma extra al final de los parámetros de la función. Desde hace tiempo podemos definir arrays en PHP, agregando una coma final a los elementos del array, que se suele colocar como buena práctica para evitar errores de sintaxis al agregar nuevos valores más adelante. Ahora el mismo concepto lo podemos aplicar a la lista de parámetros enviados en las llamadas a las funciones.
  • Manejo de errores en JSON. Desde PHP 7.3 existe la posibilidad de detectar errores en sentencias JSON con la captura de una excepción JSON_THROW_ON_ERROR. Esto nos permite realizar por ejemplo un try / catch capaz de reaccionar de manera sencilla ante una cadena pasada a json_decode con sintaxis JSON incorrecta.
  • Asignar valores por referencia en list()La tradicional función de PHP list(), que está pensada para asignar una lista de variables en una única operación, ahora permite que esas asignaciones se realicen por refererencia y no solo por valor.
  • Incorporada la función is_countableEs una función que permite conocer si el contenido de una variable es un array o un objeto que implementa la interfaz countable.
  • Mejoras en las sintaxis heredoc y nowdocEstas relativamente nuevas construcciones de cadenas, especialmente indicadas para la inclusión de textos largos, han evolucionado para disminuir la rigidez de su sintaxis y hacerse más flexibles.

Además, en PHP 7.3 se han declarado como obsoletas algunas construcciones del lenguaje. No son muchas y son fácilmente detectables en un proyecto, porque el intérprete de PHP lanzará el correspondiente aviso o warning para avisar de la situación. Algunos ejemplos son la función image2wbmp() que se planea eliminar, las constantes que se hacen siempre sensibles a mayúsculas y minúsculas, o la búsqueda en cadenas de valores enviados como número entero. Estos cambios no son preocupantes por el momento, pues todas estas cuestiones solamente serán eliminadas del lenguaje en su próxima versión, PHP 8.0.