Saltar al contenido principal

Versiones

Las versiones de PHP son las siguientes:

VersiónFecha de Publicación
PHP 1.0junio de 1995
PHP 2.0noviembre de 1997
PHP 3.0unio de 1998
PHP 4.0mayo de 2000
PHP 5.0julio de 2004
PHP 7.0diciembre de 2015
PHP 8.0noviembre de 2020
PHP 8.1noviembre de 2021
PHP 8.2diciembre de 2022
PHP 8.3noviembre de 2023
PHP 8.4noviembre de 2024
PHP 8.5noviembre de 2025

Estas versiones reflejan la evolución del lenguaje, desde sus primeras implementaciones hasta las más recientes, con mejoras sustanciales en rendimiento, seguridad y nuevas características.

Novedades en las últimas versiones de PHP 8

PHP 8.4

PHP 8.4 introdujo varias mejoras clave:

  • Property hooks → lógica al leer/escribir propiedades.
  • Visibilidad asimétrica en propiedades (lectura y escritura con niveles distintos).
  • API orientada a objetos para BCMath con números arbitrarios.
  • Nuevas funciones de arrays: array_find, array_find_key, array_any, array_all.
  • Lazy objects para inicialización diferida.
  • Mejoras en DateTime: microsegundos y creación desde timestamp.
  • Funciones multibyte nuevas: mb_trim, mb_ltrim, mb_rtrim, mb_ucfirst, mb_lcfirst.
  • PDO con subclases específicas por driver (Pdo\MySql, Pdo\Pgsql, etc.).
  • API DOM modernizada con querySelector y soporte HTML5.
  • Sintaxis simplificada: new Foo()->method() sin paréntesis extra.
  • Mejoras de rendimiento y dependencias: JIT, PCRE, OpenSSL, sodium.

Cambios importantes / deprecaciones:

  • Extensiones IMAP, OCI8, PDO_OCI y pspell pasan a PECL.
  • Deprecado el uso implícito de parámetros nulos.
  • Deprecado usar _ como nombre de clase.
  • Cambios en funciones (ej. round() ahora lanza ValueError en modos inválidos).

PHP 8.3

PHP 8.3 introdujo varias novedades:

  • Typed class constants → constantes de clase con tipos (public const string NAME = "X";).
  • Dynamic class constant fetch → acceso dinámico a constantes de clase ($class::{$const}).
  • json_validate() → función nativa para validar JSON rápidamente.
  • Random extension mejorada → nuevas clases (Random\Randomizer, Random\Engine\Mt19937, etc.) con API orientada a objetos y más segura.
  • Atributo #[\Override] → marca métodos que sobrescriben a la clase padre, con chequeo en compilación.
  • Constantes de clase abstract y final → control más fino sobre su herencia y redefinición.
  • Herencia de propiedades readonly → ahora funcionan correctamente en clases hijas.
  • Nuevas funciones en arrays y class_meth() con mejoras de usabilidad.
  • Mejoras de rendimiento en JIT y gestión de memoria.

Cambios importantes / deprecaciones:

  • Operadores lógicos || y && deprecados en expresiones constantes (usar or/and en su lugar).
  • Deprecado el uso de get_class() y get_parent_class() sin argumentos.
  • Deprecado pasar null a parámetros no-nullable en varias funciones internas.
  • Deprecado el uso dinámico de constantes heredadas sin contexto claro.
  • Deprecado el acceso dinámico a propiedades no definidas en clases con readonly.
  • Cambios en SQLite3: errores más estrictos al trabajar con resultados.
  • Deprecadas varias funciones antiguas en GD, LDAP y otras extensiones.

Versiones anteriores

Comparando las nuevas versiones con versiones anteriores, PHP 5 trajo mejoras como la introducción de programación orientada a objetos y excepciones, mientras que PHP 7 fue revolucionario por su aumento de rendimiento y la inclusión del sistema de tipos escalar. PHP 8.0 introdujo las Just-In-Time (JIT) y los atributos, y PHP 8.1 añadió fibers y readonly. Las últimas versiones de PHP 8 refinan estas innovaciones, enfocándose en mayor seguridad, eficiencia y nuevas funcionalidades orientadas a un código más robusto.