Principales actualizaciones de PHP 8

Nov 17, 2020

El próximo 26 de noviembre del 2020 será el lanzamiento oficial de PHP 8; luego de un largo periodo de incertidumbre, los desarrolladores anunciaron tal evento, lo cual coincide con el ciclo habitual de 3 años de PHP.

La próxima actualización PHP 8 traerá un montón de características poderosas y grandes mejoras en el lenguaje, así que te preguntaras ¿y que debemos esperar? ¿Qué es lo mas importante que viene con PHP 8, la próxima gran versión del lenguaje?

Nuevas características de PHP 8

Se espera que la nueva versión de PHP presente nuevas características que ampliarán las posibilidades de los desarrolladores web. A continuación te contamos algunas de ellas:

Compilador JIT: Esta es la mayor novedad, la cual mejorara considerablemente el rendimiento. PHP no se compila, sino que se interpreta línea por línea y el compilador JIT (JUST IN TIME) compilaría parte del código durante el tiempo de ejecución, por lo que funcionaria de manera similar a la versión en cache del código.

Esta característica fue aprobada exitosamente mediante el uso de un script simple para comparar las versiones 5.3, 7.4 y 8 (con y sin JIT) para ello se ejecuto 100 veces cada versión y se calculo el tiempo promedio, los resultados fueron:

jit: php

La extensión JSON estará siempre activa: En versiones anteriores del lenguaje de scripts, la extensión JSON podía desactivarse de forma opcional. Sin embargo, como JSON es un formato de datos muy importante, los desarrolladores de PHP han decidido dejar la extensión activada todo el tiempo. Esto debería simplificar el trabajo con PHP.

Temas de interés: 

Tipos de unión: Los union types también aparecen en otros lenguajes como C/C++, TypeScript o Haskell. Permiten crear uniones de dos o más tipos de datos, pudiéndose utilizar cualquiera de ellos. En el código, esto se vería de la siguiente manera:

Tipos de unión

Sin embargo, existe una limitación. Void no puede formar parte de un union type, ya que no devuelve ningún valor. Además, ¿las uniones nullable pueden escribirse con |null o ?, como te mostramos en este ejemplo:

Tipos de union

Tipo de retorno estático: Static es un nombre de clase especial y en la nueva versión será un tipo de retorno válido junto a self & parent.

Usar ::class en los objetos: En versiones anteriores se tenía que usar get_class() para asignar una clase a los objetos. Ahora se puede aplicar ::class directamente a los objetos. Esto ayuda a mantener el código más limpio.

Interfaz encadenable: Stringable interface implementa una interfaz automáticamente. Hasta ahora, este paso debía hacerse manualmente. Esto puede hacerse para todas las strings o para aquellas donde __toString() esté implementado. 

fdiv: Con fdiv será posible una división por 0. Ahora se obtiene INF, -ING NAN como valor de retorno.

Anotaciones de tipo: La nueva versión incluirá anotaciones de tipo correctas para todas las funciones y métodos internos.

Errores de tipo: Anteriormente, solo las funciones definidas por el usuario activaban los TypeErrors. Las funciones internas emitían una advertencia y daban null. Con PHP 8, las funciones internas también producirán TypeErrors.

¿Habrá complicaciones con los códigos antiguos?

Puesto que PHP 8 es una versión principal, hay que tener en cuenta que algunos códigos antiguos no serán compatibles. La mayoría de los cambios que podrían presentar complicaciones ya estaban obsoletos en las versiones 7.2, 7.3 y 7.4.

Los últimos cambios incluyen:

  • The real type
  • Magic quotes legacy
  • array_key_exists() with objects
  • FILTER_SANITIZE_MAGIC_QUOTES filter
  • Reflection export() methods
  • mb_strrpos() with encoding as 3rd argument
  • implode() parameter order mix
  • Unbinding $this from non-static closures
  • hebrevc() function
  • convert_cyr_string() function
  • money_format() function
  • ezmlm_hash() function
  • restore_include_path() function
  • allow_url_include ini directive

Como te diste cuenta hoy, te contamos una parte de los cambios y mejoras claves que se esperan en el lanzamiento de PHP 8, ¿Qué te ha parecido la información? ¿Estas listo para probar nuevas características de PHP? ¿Cuál es tu favorita? Déjanos tu comentario.

 

Últimas noticias

Soluciona problemas con tecnologías de información

Soluciona problemas con tecnologías de información

En marketing, finanzas, la salud entre otros sectores, las tecnologías de la información ayudan no solo a resolver problemas, sino a prevenirlos con estrategias y planificación. Las TI te pueden ayudar de distintas maneras en dar atención a los problemas que surgen en...

leer más
Seguridad en aplicaciones web y móviles

Seguridad en aplicaciones web y móviles

Siempre estamos visitando decenas de sitios web, desde que abrimos un enlace que nos compartió un amigo, o simplemente realizamos transacciones en nuestra banca en línea. Pero, ¿Estamos seguros de que todos los sitios web y aplicaciones son seguros y que ninguno de...

leer más
El crecimiento de Ciberataques en la Industria Bancaria 2021

El crecimiento de Ciberataques en la Industria Bancaria 2021

Sin duda a raíz del 2020, actores de amenaza aprovecharon la COVID-19 para explotar aun más la Industria bancaria en un momento en que las economías mundiales y los sustentos individuales dependen del apoyo de los servicios financieros. En base al año pasado se...

leer más