PHP 8: ¿Qué novedades hay? (Compilador JIT, atributos y otras funciones)
PHP 8 está por llegar y WordPress funciona con PHP. Es el núcleo de absolutamente todo lo que hace la plataforma, desde sus funciones subyacentes hasta complementos como temas y plugins. De todos los lenguajes que utiliza WordPress, PHP es, con diferencia, el más importante.
Como consecuencia, puedes imaginar que las actualizaciones importantes de PHP son un gran problema.Acelerando su sitio webPara agregar nuevos atributos y funciones con los que los desarrolladores puedan trabajar, es importante mantenerse al día con todo. Incluso si no eres un desarrollador, debes tener una idea general de qué buscar cuando sea el momento deActualiza tu versión de PHP.
Repasemos ahora: las principales características nuevas de PHP 8, por qué necesita actualizar lo antes posible y cómo hacerlo una vez que se implemente el soporte oficial.
¿Por qué prestar atención a las actualizaciones de PHP?
Con cada actualización de PHP se incorporan una serie de nuevas funciones importantes. No todas son relevantes para los usuarios ocasionales y algunas son incluso demasiado específicas para la mayoría de los desarrolladores. Pero aspectos como la mayor velocidad, los cambios importantes que podrían dañar el código existente y otros complementos relativamente menores aún podrían tener un impacto en suflujo de trabajo de desarrollo.
PHP como motor cambia constantemente, se agregan o modifican nuevos elementos para optimizar el código y facilitar su uso. Los creadores de temas y complementos, así como los desarrolladores de sitios web, querrán mantenerse al día con lo que sucede.
De esa manera, no tendrás que revisar una gran cantidad de documentación para ponerte al día con varias actualizaciones a partir de ahora.
Si bien cada nueva versión trae cambios mayormente positivos, a veces estos ajustes pueden causar problemas con el código existente. Los atributos obsoletos y el código incompatible con versiones anteriores pueden terminar dañando su sitio y haciendo que partes de él dejen de funcionar.
Querrá saber cuáles son estos cambios importantes para que usted o sus desarrolladores puedan abordarlos en su código personalizado y también hacer uso de expresiones nuevas y más optimizadas.
E incluso si nunca has tocado un fragmento de código PHP personalizado en tu vida, cuando WordPress agregue soporte para la próxima versión de PHP, te enfrentarás a una elección: ¿Actualizar o no?
La respuesta casi siempre es sí, pero al menos querrás revisar las características principales y asegurarte de que no haya nada allí que pueda causarte problemas.
¿Qué novedades hay en PHP 8?
Si bien no es la actualización más importante, hay algunos cambios bastante interesantes en PHP 8. La actualización más pequeña también es una bendición, ya que significa que hay menos cambios importantes que causan problemas con el código existente. Obtienes todas estas nuevas funciones sin tener que pasar horas solucionando problemas.
Estos están lejos de ser todos los extras que vienen con PHP 8, así que asegúrese de revisarlos.registro de cambios completopara más.
PHP 8.0 se lanzará el 26 de noviembre deActualizado, así que esté atento y prepárese para el eventual soporte de WordPress.
Compilador JIT (Just In Time)
Probablemente la mayor y más interesante incorporación de PHP 8 es el compilador JIT. PHP es un lenguaje interpretado, lo que significa que se ejecuta en tiempo real, en lugar de compilarse y ejecutarse en el momento del lanzamiento. JIT incorpora código compilado a PHP y, con él, un mejor rendimiento (en algunas situaciones).
Si trabaja con aplicaciones web, como la mayoría de los desarrolladores de PHP, JIT no le ayudará mucho, ya que…puntos de referencia de rendimientomostrar. Pero cuando se trata de ciertas tareas como renderizado 3D, análisis de datos,inteligencia artificial, y otros procesos de larga duración, hace una gran diferencia.
Estas no son las aplicaciones más comunes de PHP, pero muchos desarrolladores están diversificándose, lo que hace que el motor sea mucho más flexible. JIT seguramente abrirá los horizontes de PHP y atraerá a desarrolladores interesados en probar cosas nuevas.
Pero para los proyectos existentes, puede que no sirva de mucho. Antes de implementar JIT, asegúrese de probarlo en unambiente aisladoy ver si mejora tu rendimiento o no.
Atributos
PHP ahora admite atributos, o pequeños fragmentos de metadatos que se agregan a partes del código: funciones, clases, parámetros, ese tipo de cosas. Eso significa que ya no es necesario usar docblocks como solución alternativa. Es un cambio pequeño, pero que hace la vida mucho más fácil.
Puede agregar varios atributos a cualquier fragmento de código, importarlos con instrucciones de uso y también agregar parámetros a los atributos. Agregue un atributo a su código con dos signos menor que y dos signos mayor que: Attribute
.
Una cosa a tener en cuenta es que los atributos no son compatibles con versiones anteriores y provocarán errores si se trasladan a versiones anteriores de PHP.
La solución alternativa de docblock es funcional, pero siempre ha sido un poco complicada. Ahora puedes agregar atributos directamente. Para una adición tan pequeña, tiene enormes implicaciones.
Expresión de coincidencia
Si las sentencias switch son una versión más potente de las sentencias if, la nueva expresión match las mejora aún más. Es más corta, más estricta (por lo que detecta mejor los errores), combina condiciones y no requiere una sentencia break. En muchos sentidos, ¡es simplemente mejor!
Lo único que Switch tiene sobre Match en este momento es que puede usar múltiples expresiones. Aparte de eso, deberías leer sobreexpresiones coincidentesporque parecen un reemplazo superior que querrás utilizar.
Tipos de uniones
Los tipos son una parte clave de PHP, ya que permiten asignar a una variable un entero, un booleano, un valor nulo, etc. Pero antes solo se podía asignar un tipo a una variable. Ahora, se les pueden asignar dos o más tipos: ¡un tipo de unión!
Por ejemplo, puedes asignar un tipo entero y un tipo flotante, y puede utilizar cualquiera de ellos. Estos se especifican con una línea entre cada tipo, por ejemplo: int|float
.
Lo único que no se puede hacer es combinar void
y otro tipo. Son mutuamente excluyentes. Y los tipos duplicados o redundantes (como int|int
) tampoco están permitidos.
Anteriormente, podías usar anotaciones PHPDoc para crear algo así como un tipo de unión funcional, pero ahora puedes omitir las complicadas soluciones alternativas y simplemente asignar variables con múltiples tipos.
Retorno estático y tipos mixtos
Aquí hay una pequeña: los retornos en PHP se utilizan para devolver el valor de una función. Pero antes, usar el tipo estático no era una opción self
y parent
eran tipos de retorno válidos, pero no static
. Gracias a PHP 8, este problema se ha solucionado. No es un caso de uso común, pero cuando surge, te alegrará tenerlo.
También existe el nuevo tipo mixto, o más precisamente pseudotipo, ya que representa todos los demás tipos que existen en PHP. Se utiliza cuando se trabaja con varios tipos diferentes. Ahora, el tipo mixto también se asume como predeterminado cuando no se especifica un tipo.
Muchas veces es mejor usar el nuevo tipo de unión en lugar de mixto, ya que probablemente querrás ser más específico, pero este aún podría ser útil.
Ninguno de estos es tan grande como el tipo sindical, pero hacen la diferencia.
Nuevas funciones
PHP 8 viene con varias funciones nuevas con las que trabajar.
str_starts_with and str_ends_with
— Comprueba si una cadena comienza o termina con una línea determinada.str_contains
— Uso similar, pero comprueba una cadena completa.fdiv
— Permite la división que reacciona consistentemente al dividir por cero.get_resource_id
—Ahora es fácil obtener el ID de un recurso como una conexión de base de datos.get_debug_type
— Actúa de forma muy similar agettype
, pero devuelve más información, como el nombre de la clase.preg_last_error_msg
— Al trabajar con funciones PHP antiguas que requieren que verifiques manualmente si hay errores, esto devuelve un mensaje de error legible para humanos.
Argumentos nombrados
A algunos les encanta, a otros les desagrada, peroargumentos nombradosAhora están en PHP 8. Los argumentos te permiten pasar datos a una función, pero los argumentos con nombre te permiten hacerlo pasando el nombre del argumento en lugar del orden. Aún puedes combinarlos con argumentos ordenados, pero puedes omitir los parámetros opcionales si lo deseas.
En la práctica, esto significa que el código estará más limpio y se reducirá la cantidad de errores que se pueden encontrar. Cuanto más conciso sea el código, mejor: será más fácil trabajar con él.
Puede causar problemas de compatibilidad con versiones anteriores y cambiar los nombres de los argumentos, lo que provoca interrupciones en las versiones anteriores de un programa, pero para muchos programadores los argumentos con nombre son un soplo de aire fresco.
Cambios de última hora
Con PHP 8 vienen variascambios importantes, lo que podría provocar errores al actualizar o al volver a migrar a versiones anteriores. Eche un vistazo a la lista y vea qué puede ser relevante para usted; aquí se muestran algunos de los más importantes.
- Advertencias del motoren PHP se han reclasificado para que muestren un nivel de gravedad apropiado. (Errores fatales, avisos, advertencias, etc.) Este es un cambio importante menor que no afectará a la mayoría de los proyectos.
TypeError
Ahora se muestra de forma consistente en las funciones internas; esto tiene un mayor impacto encompatibilidad con versiones anterioresde lo que piensas, pero es un buen cambio.- Se realizaron varios cambios en los niveles de informes de errores que anteriormente estaban configurados como silenciosos e ignorados, por lo que es posible que ahora aparezcan nuevos errores que antes estaban ocultos.
- Ordenar en PHPes más estable y confiable. PHP 7 ya realizó cambios importantes en la clasificación y se espera que este cause menos daño al código existente.
- Nombres con espacios de nombresAhora son un solo token y ya no pueden tener espacios en blanco dentro de ellos. El impacto de este cambio es pequeño y fácil de solucionar.
- Los métodos con un nombre que coincidía con la clase se interpretaron como constructores. Ahora debe utilizar el
__construct()
método. - Y decenas de otros pequeños cambios que rara vez podrían causar problemas.
En general, no deberías tener demasiados problemas con esta actualización.
Cómo actualizar la versión PHP de WordPress
Es importante mantener actualizada la versión de PHP. Una proporción sorprendentemente significativa de usuarios de WordPressTodavía se ejecuta PHP 5.6, lo que supone una gran responsabilidad. Incluso si utiliza PHP 7.4 y está totalmente actualizado, debe estar preparado para actualizar a PHP 8 cuando salga.
El uso de versiones antiguas de PHP supone un riesgo de seguridad. Las versiones desactualizadas tienen fallos de seguridad que los piratas informáticos pueden aprovechar. La única forma de solucionar esos fallos es mantener PHP actualizado en todo momento.
La velocidad es otra razón para actualizar. Con cada actualización de PHP se optimizan las funciones y se logran velocidades más rápidas. La mayor diferencia estaría entre 5.6 y 7.4, pero definitivamente verás unaAumento de velocidad en PHP 8.
La última razón para actualizar: compatibilidad. Un PHP desactualizado puede causar problemas fácilmente, estropear tu sitio web o causar otros fallos. Algunos complementos o temas requieren una versión actualizada de PHP para funcionar, por lo que conviene mantenerla actualizada.
PHP 8 aún no ha salido al mercado, por lo que no podrás actualizarlo. También tendrás que esperar a que WordPress comience a ofrecer compatibilidad con la versión más reciente. Pero si tienes una versión anterior de PHP, como PHP 5.6, deberías considerar dar el salto ahora. Hay muchos cambios importantes en PHP 7.x y será más fácil solucionarlos ahora que dar un salto aún mayor directamente a PHP 8.
Actualizando PHPPor lo general, es bastante simple. Todo lo que se necesita es iniciar sesión en cPanel o en cualquier panel de administración que utilice su proveedor, buscar el Administrador de versiones de PHP y marcar la última versión. Es posible que deba consultar con su proveedor para asegurarse de que admita la actualización más reciente de PHP. Algunos funcionan con software más antiguo. Más detalles en el artículo vinculado.
Preste atención a PHP 8
Puede que no sea una actualización tan monstruosa como lo fue PHP 7.0-7.4, pero PHP 8 tiene mucho que ofrecer. Ordenar toda esa documentación y descifrar las características más importantes puede resultar difícil, por eso la hemos recopilado aquí para usted.
Aunque no sea una versión revolucionaria, PHP 8 tiene varias características importantes para las que conviene estar preparado. El compilador JIT abre nuevos horizontes para el lenguaje. En una escala más pequeña, los nuevos atributos, expresiones de coincidencia y funciones serán muy útiles para muchos desarrolladores. Y, por supuesto, los tipos de unión y los argumentos con nombre.
Tenga cuidado con los cambios importantes, pero en general esta actualización es bastante liviana en cuanto a las principales características incompatibles con versiones anteriores.
Desarrolladores: ¿Qué parte de esta actualización utilizarán con más frecuencia? ¡Déjennos saber qué piensan de las nuevas características de PHP 8 en la sección de comentarios a continuación!
Deja una respuesta