
La nueva versión contiene muchas nuevas características, como ganchos de propiedades, visibilidad asimétrica de propiedades, actualización del API DOM, mejora del rendimiento, corrección de errores y mucho más.
Principales cambios
- Ganchos de propiedades brindar soporte para propiedades calculadas que pueden ser entendidas por IDE y herramientas de análisis estático, sin necesidad de escribir comentarios DocBlock que pueden no coincidir. Además, permiten realizar un procesamiento previo o posterior seguro de los valores, sin necesidad de verificar si existe un getter o setter correspondiente en la clase.
- La visibilidad asimétrica de las propiedades ahora se puede controlar independientemente de la visibilidad de lectura de la propiedad, lo que reduce la necesidad de usar métodos getter genéricos para revelar el valor de la propiedad sin posibilidad de modificarlo desde fuera de la clase.
- El nuevo atributo #[Deprecated] extiende el mecanismo existente para declarar entidades como obsoletas para funciones, métodos y constantes de clases personalizadas.
- Nuevo API DOM, que soporta el análisis de documentos HTML5 de acuerdo a los estándares, corrige varios errores antiguos en el comportamiento del DOM y agrega varias funciones que hacen que trabajar con documentos sea más conveniente. El API DOM está disponible en el espacio de nombres Dom. Los documentos que utilizan el nuevo API DOM pueden ser creados con las clases DomHTMLDocument y DomXMLDocument.
- Nuevo objeto BcMathNumber permite usar un estilo orientado a objetos y operadores matemáticos estándar al trabajar con números de precisión arbitraria. Estos objetos son inmutables e implementan la interfaz Stringable, por lo que se pueden usar en contextos de cadena, por ejemplo, echo $num.
- Se han añadido funciones array_find(), array_find_key(), array_any() y array_all().
- Se agregaron clases hijas PdoDblib, PdoFirebird, PdoMySql, PdoOdbc, PdoPgsql, PdoSqlite controladores, que heredan de PDO.
- Las propiedades y métodos de un objeto recién inicializado ahora se pueden acceder sin envolver la expresión new en paréntesis. Ejemplo: new MyClass()->method() sin paréntesis.
- Nuevas clases, interfaces y funciones y mucho más...
Fuente: linux.org.ru
