Ha sido lanzado PHP 8.4: qué cambió y por qué es importante para los desarrolladores
La comunidad de PHP recibió el esperado lanzamiento — PHP 8.4. La nueva versión trae no solo mejoras puntuales de rendimiento, sino también cambios fundamentales en la sintaxis que transforman el enfoque para escribir código. Analicemos las principales novedades que todo desarrollador debería conocer.
Property Hooks — la revolución tan esperada en el trabajo con propiedades
Uno de los cambios más significativos es la aparición de los property hooks (ganchos de propiedades). Ahora puedes definir getters y setters directamente en la declaración de la propiedad, sin necesidad de crear métodos separados. Esto hace que el código sea más limpio y reduce el código repetitivo.
- Getters y setters inline: ahora se puede escribir
public string $name { get => $this->name; set => $this->name = $value; } - Inicialización perezosa: la propiedad puede calcularse solo en el primer acceso, lo que ahorra recursos.
- Simplificación de DTO y Value Objects: los objetos de transferencia de datos se vuelven más compactos y legibles.
Tipificación Asimétrica (Asymmetric Visibility)
PHP 8.4 introduce la posibilidad de establecer diferente visibilidad para la lectura y escritura de una propiedad. Por ejemplo, puedes hacer una propiedad pública para lectura, pero protegida para escritura. Esto resuelve un antiguo problema de encapsulación sin crear métodos redundantes.
- Ejemplo:
public private(set) string $title— la propiedad puede ser leída por todos, pero modificada solo dentro de la clase. - Más seguro: permite un control más estricto sobre la mutabilidad de los datos.
Mejoras en el compilador JIT
El equipo de desarrollo ha mejorado significativamente el JIT (compilador Just-In-Time). En PHP 8.4 se ha vuelto más predecible y eficiente, especialmente para procesos largos y cargas de API.
- Reducción de la sobrecarga de compilación.
- Mejor soporte para la arquitectura ARM (Apple Silicon, Raspberry Pi).
- Incremento de rendimiento en pruebas sintéticas de hasta un 10-15%.
Nueva sintaxis y depreciaciones
El lanzamiento no estuvo exento de azúcar sintáctico y eliminación de funciones obsoletas.
array_findmejorado: ahora se puede escribirarray_find($users, fn($u) => $u->active)— encuentra el primer elemento que cumple la condición.- Eliminación de funciones obsoletas: se han eliminado del núcleo
mysqlisin consultas preparadas y varias constantes de uso poco frecuente. - Nuevos tipos: se han añadido
trueyfalsecomo tipos independientes para tipificación estricta.
¿Qué significa esto para los desarrolladores?
PHP 8.4 es un paso hacia un código más moderno y seguro. Los property hooks y la visibilidad asimétrica reducen la cantidad de código repetitivo, y el JIT mejorado hace que PHP sea más rápido sin modificar el código. Recomendamos comenzar a probar la compatibilidad de tus proyectos con la nueva versión ahora mismo, especialmente si usas frameworks como Laravel o Symfony — ya han lanzado actualizaciones para soportar PHP 8.4.
Sigue las noticias en PythonLib — continuaremos analizando los detalles técnicos del nuevo lanzamiento y escribiendo guías de migración.