PHP 8.5 Alpha 1: Primer vistazo a las nuevas características del lenguaje

Published:

El equipo de desarrollo de PHP ha lanzado la primera versión alpha de PHP 8.5, marcando el inicio del ciclo que culminará con el lanzamiento estable en noviembre de 2025. Esta actualización introduce mejoras significativas en expresiones constantes, manejo de errores y nuevas funciones para arrays.


🚀 Novedades Destacadas en PHP 8.5 Alpha 1

1. Expresiones Constantes Mejoradas

  • Closures y callables: Ahora pueden usarse en expresiones constantes.

    const MY_CLOSURE = fn() => 'Hello PHP 8.5';
  • Casts en constantes: Soporte para conversiones de tipo en contextos constantes.

2. Nuevos Atributos y Operadores

Característica Descripción
#[\NoDiscard] Marca que el valor de retorno de una función debe ser usado (evita warnings).
(void) cast Indica explícitamente que se descarta un valor intencionalmente.
Operador pipe (|>) Permite encadenar operaciones de forma más legible (similar a otros lenguajes).

3. Funciones para Arrays

  • array_first(): Obtiene el primer elemento de un array.

    $first = array_first([1, 2, 3]); // 1
  • array_last(): Obtiene el último elemento.

    $last = array_last([1, 2, 3]); // 3

4. Mejoras en Depuración

  • Backtraces en errores fatales: Muestra el stack trace completo cuando ocurre un error crítico.

  • --ini=diff en CLI: Compara configuraciones INI modificadas vs. valores por defecto.

    php --ini=diff

📅 Cronograma de Lanzamiento

  • Alpha 1: Julio 2025 (actual)

  • Beta: Agosto-Septiembre 2025

  • Versión estable: Noviembre 2025


⚠️ Consideraciones para Desarrolladores

  • Incompatibilidades potenciales: Algunas funciones obsoletas podrían eliminarse en la versión final.

  • No usar en producción: Esta versión alpha es solo para pruebas y desarrollo.

«PHP 8.5 continúa modernizando el lenguaje manteniendo su esencia accesible» — Equipo de PHP.


📥 ¿Cómo Probar PHP 8.5 Alpha 1?

Desde Código Fuente

wget https://downloads.php.net/~username/php-8.5.0alpha1.tar.gz
tar xvf php-8.5.0alpha1.tar.gz
cd php-8.5.0alpha1
./configure
make
sudo make install

Docker (Para Pruebas)

docker run -it php:8.5-rc-cli

🔍 Casos de Uso Avanzados

Ejemplo con Operador Pipe

$result = [1, 2, 3] 
    |> array_map(fn($n) => $n * 2, %)
    |> array_filter(fn($n) => $n > 2, %);
// [4, 6]

Uso de #[\NoDiscard]

#[\NoDiscard]
function createLogEntry(): bool { /* ... */ }

createLogEntry(); // Warning si no se usa el valor
- Advertisement -
Jorge
Jorgehttps://nksistemas.com
Soy Jorge, Sr Sysadmin Linux/DevOps/SRE y creador de NKSistemas.com Trabajo con plataformas: Linux, Windows, AWS, GCP, VMware, Helm, kubernetes, Docker, etc.

Related articles