PHP 8.4: innovación a fondo

PHP 8.4 llegó pisando fuerte con hooks de propiedad, visibilidad asimétrica, soporte HTML5 en DOM, mejoras de sintaxis y rendimiento.

📅 Fecha de lanzamiento y ciclo de soporte

PHP 8.4 se lanzó oficialmente el 21 de noviembre de 2024.
Es “General Availability” y recibe soporte activo de 2 años + soporte de seguridad otros 2 años, hasta el 31 de diciembre de 2026.

✨ Novedades destacadas en PHP 8.4

1. Hooks de propiedad

La mayor sorpresa: propiedades con getset personalizados, sin necesidad de usar getters y setters tradicionales. Ejemplo:

public string $fullName {
  get => "$this->first $this->last";
  set { [$this->first,$this->last] = explode(' ',$value); }
}

Esto refactoriza tu código y elimina código repetitivo.

2. Visibilidad asimétrica

Puedes permitir que una propiedad sea pública para lectura pero solo privada para escritura:

public private(set) string $version;

Una mejora potente que va de la mano con los property hooks.

3. DOM + HTML5 mejorado

PHP 8.4 incluye una API DOM moderna que cumple con el estándar HTML5, bajo el namespace Dom\HTMLDocument, con selector CSS, classList, etc.

4. Sintaxis mejorada: new Class() sin paréntesis

Ahora puedes encadenar métodos sin envolver con paréntesis:

$req = new Request()->withMethod('GET');

Más limpio y más natural.

5. Nuevas funciones de array

Cuatro funciones nuevas para búsqueda y validación:

  • array_find()
  • array_find_key()
  • array_any()
  • array_all()

Permiten recorridos rápidos con callbacks.

6. Otras mejoras

  • mb_trim(), mb_ltrim(), mb_rtrim() y mb_ucfirst(), mb_lcfirst().
  • DateTime::createFromTimestamp() con sub-segundos .
  • Modo de redondeo más claro en round().
  • Actualizaciones en Curl, BCMath, Intl, Lazy Objects, PDO específicos, JIT, hashing Bcrypt cost aumentado.

⚠️ Deprecaciones relevantes

  • Tipos con “nullable implícito” (ej. function foo(User $u = null)) están deprecados.
  • Uso de sesiones por GET/POST genera warnings; será removido en PHP 9.
  • Deprecación de múltiples funciones: md5(), sha1(), strtok(), mysqli_ping(), etc. .
  • Constantes antiguas SUNFUNCS_RET_*, E_STRICT, CSV escaping, etc. quedan obsoletas.

🛠️ Recomendaciones para migrar a PHP 8.4

Si ya estás en 8.3, considera esperar a una versión mp+1 con corrección de bugs. Luego:

  1. Revisa tus llamadas a function(... = null) y sesiones GET/POST.
  2. Aprovecha property hooks y visibilidad asimétrica para limpiar tu lógica OOP.
  3. Actualiza XPath a la nueva API Dom\HTMLDocument si usas DOM.
  4. Integra herramientas como Rector y PSalm/PhpStan para detectar incompatibilidades.

Recuerda queJS frameworks o CMS como WordPress podrían tardar en adaptarse al 100 %; analiza su compatibilidad antes de desplegar.

👉 Recursos y referencias

 

Jucaripo
Jucaripohttps://blog.jucaripo.com
Más de 30 años han pasado desde que toqué mi primera computadora, desde entonces se convirtiò en mi pasión y en estilo de vida. Conforme el tiempo pasó, el conocimiento de las tecnologìas me llevaron a dar clases, a ver nacer y crecer el internet, hasta verlo convertirse en el increìble universo que es ahora. Miles de hora de ensayo y error me dieron mucha experiencia, mi amor por la programación, por escribir códigos crece cada día cuando lo que hago sirve a los demás. Soy desarrollador  .NET para apps  y web,  trabajando en una gran variedad de proyectos. Soy curioso, muy tenaz, emprendedor, dedicado y paciente, y aunque mi trabajo puede ser demandante, no he perdido de vista el respeto por la naturaleza y los demàs seres vivos, mi familia y mi vida espiritual. También aprendí a encontrar la armonía entre el diseño, el color, la forma, la funcionalidad y el desarrollo. Mi filosofía de vida siempre ha sido: “APRENDE CON HUMILDAD Y ENSEÑA CON EL CORAZÓN”. Att: Juan Carlos Ricalde Poveda
RELATED ARTICLES
- Advertisment -

Sigueme

614FansMe gusta
165SeguidoresSeguir
340SeguidoresSeguir
1,530SeguidoresSeguir
405SuscriptoresSuscribirte

Post Recientes

Recent Comments