Eso es, ya disponemos de PHP 8, la última actualización del lenguaje PHP hasta la fecha. Siempre recomendamos mantener actualizada la versión PHP ya que esto supone entre otras cosas, un aumento tanto del rendimiento como de la seguridad de nuestra web.
Aun así, ten en cuenta que no deberías cambiar la versión de PHP a la ligera, sin tener la certeza de que tu aplicación es compatible con dicha versión de PHP.
Si tu aplicación no es compatible con una versión nueva de PHP presentará errores a raíz del cambio o posteriormente de forma aleatoria. Si surgieran problemas puedes revertir los cambios.
Si quieres cambiar la versión de PHP puedes hacerlo siguiendo los pasos del siguiente tutorial: http://www.loading.es/clientes/knowledgebase/218/Seleccion-de-version-PHP-y-cache-en-dominio-desde-panel-Plesk.html
Dicho esto, te explicamos brevemente algunas de las novedades más destacables que incluye esta última versión de PHP:
Compilador JIT (Just in time)
Asegura mejoras en el rendimiento puesto que contiene un monitor que revisa el código al mismo tiempo que se está ejecutando, de forma que si detecta partes de código que se repiten continuamente este las señalará como «almacenables en caché» según su frecuencia. Estos códigos serán compilados en código de máquina ya optimizado y serán utilizados en lugar del código real, lo que producirá una ganancia de tiempo de ejecución y carga del servidor.
Union Types
PHP8 ya incluye la posibilidad de utilizar la característica Union Types ya utilizada en otros lenguajes de programación. Nos da la posibilidad de hacer uso de múltiples tipos de datos para argumentos.
Attributes
O anotaciones, que en versiones anteriores se colocaban con bloques de comentarios y ahora podremos hacer estas anotaciones sin simplemente con el atributo <<PhpAttribute>>
Named arguments
Nos da la posibilidad de utilizar argumentos a través de sus nombres asignándoles un valor para, entre otras cosas, evitar tener que preocuparnos por el orden.
Constructor Property Promotion
Esta característica nos vendrá muy bien a la hora de simplificar el código ya que nos permitirá crear value objects
de una forma más reducida.
Match expression
Viene siendo el equivalente a la expresión switch. La expresión match trae como novedad el hecho de que no requieren de un break, utilizan la comparación de datos estricta y pueden ser almacenadas en variables.
Mixed Type
Con esta novedad podremos utilizar la función <<mixed>>
para asignar valores como: <<array, bool, callable, int, float, null, object, resource y string>>
. Aunque debes tener cuidado porque puede llevar fácilmente a generar un error ya que como veis mixed ya incluye null.
::class
en objetos
En lugar de utilizar get_class()
para asignar clases a objetos como hacíamos hasta ahora. Este cambio nos permitirá aplicar el ::class
directamente en los objetos, haciendo que nuestro código quede más limpio.
Estas son solo algunas de las novedades que nos trae PHP8, si quieres información más exhaustiva acerca de PHP8 puedes visitar el siguiente enlace: https://www.php.net/releases/8.0/es.php?lang=es