La nueva version del lenguaje de programacion PHP 8 ya fue liberada y esta versión contiene muchas características nuevas y optimizaciones, incluidos argumentos con nombre, tipos de unión, atributos, promoción de propiedades del constructor, expresión de coincidencia, JIT (Compile on the Fly) y mejoras en el sistema de mecanografía, manejo de errores y consistencia.

De las novedades mas destacadas, podremos encontrar por ejemplo la compilación Just-in-Time (JIT) de PHP 8 presenta dos motores de compilación JIT ( Just-in-Time / on-the-fly).

JIT Tracing, el más prometedor de los dos, muestra alrededor de tres veces el rendimiento en los puntos de referencia sintéticos y 1,5-2 veces el rendimiento en algunas aplicaciones de larga duración.

Ademas de:

  • Sistema de escritura mejorado y manejo de errores.
  • Verificación de tipo más severa para operadores aritméticos y bit a bit.
  • Validación de rasgos del método abstracto.
  • Firma válida de métodos mágicos.
  • Reclasificaciones de advertencias de motores.
  • Error fatal para firmas de métodos incompatibles.
  • El operador @ ya no silencia los errores fatales.
  • Herencia con métodos privados.
  • Tipo mixto.
  • Tipo de retorno estático.
  • Tipos para funciones internas Discusión por correo electrónico.
  • Objetos opacos en lugar de recursos para las extensiones Curl, Gd, Sockets.
  • OpenSSL, XMLWriter y XML.

Operador Nullsafe

En lugar de realizar comprobaciones condicionales de nulos , puede utilizar una cadena de llamada con el nuevo operador nullsafe. Que cuando falla la evaluación de un elemento en la cadena, la ejecución de toda la cadena se completa y toda la cadena se evalúa como nula.

match

La nueva instrucción march es parecido a cambiar y tiene las siguientes características:
Match es una expresión, lo que significa que su resultado se puede almacenar en una variable o devolver.

  • las ramas de coincidencia solo admiten expresiones de una sola línea y no necesitan una declaración de interrupción.
  • Match hace comparaciones estrictas.

Tipos de unión

En lugar de la anotación PHPDoc para una combinación de tipos, puede usar declaraciones de tipo de unión nativas que se validan en tiempo de ejecución.

Argumentos con nombre

Los argumentos con nombre permiten pasar argumentos a una función según el nombre del parámetro, en lugar de la posición del parámetro. Esto hace que el significado del argumento se auto-documente, hace que los argumentos sean independientes del orden y permite omitir arbitrariamente los valores predeterminados.

 

Fuente: https://www.php.net