Documentación offline PHP master

Nuevas características

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

Nuevas características#

Núcleo de PHP#

Modificación de solo lectura#

Las clases anónimas ahora pueden marcarse como de solo lectura.

Las propiedades de solo lectura ahora pueden restablecerse durante la clonación.

Constantes de clase tipificadas#

Las constantes de clase, interfaz, rasgo y enumeración ahora admiten declaraciones de tipo.

Cierres creados a partir de métodos mágicos#

Los cierres creados a partir de métodos mágicos ahora pueden aceptar argumentos nombrados.

El modificador final con un método de un rasgo#

El modificador final ahora puede usarse al usar un método de un rasgo.

El atributo Override#

Se añadió el atributo #[\Override] para verificar que un método existe en una clase padre o una interfaz implementada.

Sintaxis de recuperación de constante de clase dinámicamente#

Las constantes de clase ahora pueden accederse dinámicamente usando la sintaxis C::{$name}.

Inicializadores de variables estáticas#

Los inicializadores de variables estáticas ahora pueden contener expresiones arbitrarias.

Sintaxis de valor de respaldo para variables ini#

php.ini ahora soporta la sintaxis de valor de respaldo/valor por defecto.

<?php
/*
/path/to/user.ini contiene el siguiente parámetro:

listen = localhost:${DRUPAL_FPM_PORT:-9000}
*/

$user_ini = parse_ini_file('/path/to/user.ini');
echo $user_ini['listen']; // localhost:9000

CLI#

Ahora es posible hacer linting de múltiples archivos.

DOM#

Se añadieron las propiedades DOMElement::\$className y DOMElement::\$id. Estas propiedades no son binarias en este momento debido a las limitaciones subyacentes de libxml2. Esto significa que los valores de las propiedades se truncarán a un byte NULO.

Se añadieron las propiedades DOMNode::\$isConnected y DOMNameSpaceNode::\$isConnected.

Se añadieron las propiedades DOMNode::\$parentElement y DOMNameSpaceNode::\$parentElement.

FFI#

Ahora es posible asignar FFI\CData a otros FFI\CData. Esto significa que los CData ahora pueden asignarse a estructuras y campos.

Opcache#

opcache_get_status()['scripts'][n]['revalidate'] ahora contiene un timestamp Unix indicando cuándo se espera la próxima revalidación del timestamp de los scripts, dictada por la directiva INI opcache.revalidate_freq.

POSIX#

posix_getrlimit ahora toma un argumento opcional resource para permitir la recuperación de un solo límite de recurso.

posix_isatty ahora lanza advertencias de tipo para enteros siguiendo la semántica ZPP habitual.

posix_ttyname ahora lanza advertencias de tipo para enteros siguiendo la semántica ZPP habitual y advertencias de valor para enteros de descriptor de archivo inválidos.

Streams#

Los streams ahora pueden emitir la notificación STREAM_NOTIFY_COMPLETED. Esto no estaba implementado anteriormente.