PHP 8.4: Novedades, cambios y una actualización segura
PHP 8.4 es una versión importante de PHP con funciones para escribir código más claro, mejorar el control de acceso y utilizar APIs modernas. Una actualización nunca debe considerarse segura sin pruebas de compatibilidad.
Novedades importantes
Property hooks
Permiten definir lógica get y set directamente en una propiedad, reduciendo métodos repetitivos.
class User {
public string $name {
set => trim($value);
}
}
Visibilidad asimétrica
Una propiedad puede tener distinta visibilidad para lectura y escritura.
class Order {
public private(set) string $status = 'pending';
}
Atributo #[Deprecated]
Funciones, métodos y constantes pueden marcarse como deprecated de forma estándar para que IDEs y herramientas de análisis avisen.
Nuevas funciones de arrays
array_find(), array_find_key(), array_any() y array_all() simplifican búsquedas y comprobaciones habituales.
Lazy objects y mejoras de API
PHP 8.4 incorpora una API oficial de lazy objects, útil principalmente en frameworks y sistemas de inyección de dependencias. También añade mejoras DOM con HTML5, una API orientada a objetos para BCMath, subclases PDO específicas de drivers y sintaxis simplificada después de new.
Cambios para desarrolladores
Las aplicaciones existentes no tienen que adoptar la nueva sintaxis de inmediato. Antes de utilizarla, confirma que producción ejecuta PHP 8.4 y si el proyecto debe seguir siendo compatible con versiones anteriores.
Deprecations y compatibilidad
Los parámetros nullable implícitos deben declararse con ?Type o Type|null. También están deprecated usos como E_STRICT, mysqli_ping() y trigger_error(..., E_USER_ERROR). Un aviso no siempre es fatal inmediatamente, pero señala código que deberá actualizarse.
Antes de actualizar
- Registra versión PHP, extensiones, ajustes INI y tareas programadas.
- Crea un backup completo y verifica la restauración.
- Prepara staging similar a producción.
- Actualiza primero aplicación, WordPress, WooCommerce, plugins y temas.
- Revisa requisitos del proveedor y dependencias Composer.
- Documenta la versión anterior y el rollback.
WordPress y WooCommerce
La compatibilidad del núcleo WordPress no garantiza la de todos los plugins o temas. En WooCommerce prueba catálogo, carrito, checkout, callbacks de pago, emails, Scheduled Actions e integraciones.
Pruebas en staging
- Registra una baseline.
- Cambia PHP solo en staging.
- Prueba frontend, administración, login, formularios, uploads, cron y APIs.
- Revisa logs, fatal errors, warnings y deprecations.
- Prueba flujos críticos y compara rendimiento y TTFB.
- Pasa a producción solo tras validar y durante una ventana controlada.
Rollback
Si aparecen errores, restaura la versión PHP anterior y utiliza el backup verificado si cambiaron código o datos. Limpia las cachés necesarias y comprueba frontend, administración, checkout y logs.