En esta nota de nuestro curso de PHP te explicamos algunas características de la última versión de PHP 7 previas al lanzamiento de PHP 8.
# Referencias débiles rfc
Las referencias débiles son referencias a objetos, que no evitan que se destruyan.
# mb_str_split agregado a RFC
Esta función proporciona la misma funcionalidad que str_split, pero en cadenas de varios bytes.
# Registro de hash de contraseña RFC
Se han realizado cambios internos en la forma en que se utilizan las bibliotecas de hash, para que sea más fácil para el poder usarlas.
Más específicamente, se ha agregado una nueva función password_algos que devuelve una lista de todos los algoritmos de contraseña registrados.
# Cambios y desaprobaciones
Además de las nuevas características, también hay muchos cambios en el lenguaje. La mayoría de estos cambios no se rompen, aunque algunos podrían tener un efecto en sus bases de código.
Ten en cuenta que las advertencias de desaprobación no son "rupturas" por definición, sino simplemente un aviso al desarrollador de que la funcionalidad se eliminará o cambiará en el futuro. Sería bueno no ignorar las advertencias de desaprobación y corregirlas de inmediato; ya que hará que la ruta de actualización para PHP 8.0 sea más fácil.
# Desaprobación de operador ternario asociativo a la izquierda RFC
El operador ternario tiene algunas peculiaridades extrañas en PHP. Este RFC agrega una advertencia de desuso para declaraciones ternarias anidadas. En PHP 8, esta degradación se convertirá en un error de tiempo de compilación.
1 ? 2 : 3 ? 4 : 5; // obsoleto
(1 ? 2 : 3) ? 4 : 5; // Okay
# Excepciones permitidas en __toString RFC
Anteriormente, no se podían lanzar excepciones en __toString. Se prohibieron debido a una solución alternativa para algunos mecanismos antiguos de manejo de errores centrales, pero se señaló que esta "solución" en realidad no resolvió el problema que se trató de resolver.
Este comportamiento ahora ha cambiado y se pueden lanzar excepciones desde __toString.
En la siguiente nota hablaremos más del tema. Por el momento puedes ver nuestro curso de Kotlin y el curso de Javascript.