DateTime::createFromImmutable() ahora tiene un tipo de retorno provisional static, anteriormente era DateTime.
DateTimeImmutable::createFromMutable() ahora tiene un tipo de retorno provisional static, anteriormente era DateTimeImmutable.
Los símbolos numéricos en los formatos relativos
ya no aceptan signos múltiples, por ejemplo +-2
.
La extensión ODBC ahora escapa el nombre de usuario y la contraseña en el caso donde una cadena de conexión y un nombre de usuario/contraseña son pasados, y la cadena debe ser agregada. Anteriormente, los valores de usuario que contenían valores que necesitaban ser escapados podían crear una cadena de conexión malformada o inyectar valores desde datos proporcionados por el usuario. Las reglas de escape deben ser idénticas al comportamiento de DbConnectionOptions en la BCL .NET.
La extensión PDO_ODBC también escapa el nombre de usuario y la contraseña cuando una cadena de conexión es pasada. Ver la modificación de la extensión ODBC para más detalles.
glob() ahora devuelve un array vacío si todos los caminos de acceso están
restringidos por open_basedir.
Anteriormente, devolvía false
.
Además, ahora se emite una advertencia incluso si solo algunos caminos están restringidos por
open_basedir.
FilesystemIterator::__construct(): antes de PHP 8.2.0,
la constante FilesystemIterator::SKIP_DOTS
siempre estaba definida
y no podía ser desactivada. Para conservar el comportamiento anterior, la constante
debe ser definida explícitamente al usar el parámetro flags
.
El valor por defecto del parámetro flags
no ha sido modificado.
strtolower(),
strtoupper(),
stristr(),
stripos(),
strripos(),
lcfirst(),
ucfirst(),
ucwords(),
y str_ireplace() ya no son sensibles a la configuración regional.
Ahora realizan una conversión ASCII de mayúsculas y minúsculas, como si la configuración regional fuera "C".
Versiones localizadas de estas funciones están disponibles en la extensión MBString.
Además, array_change_key_case() y la ordenación con
SORT_FLAG_CASE
ahora también usan la conversión ASCII.
str_split() ahora devuelve un array vacío para una string vacía. Anteriormente, devolvía un array con una sola cadena vacía como entrada. mb_str_split() no se ve afectada por este cambio ya que ya se comportaba de esa manera.
ksort() y krsort() ahora realizan comparaciones numéricas de cadenas de caracteres
bajo SORT_REGULAR
usando las reglas estándar de PHP 8.
var_export() ya no omite la barra invertida inicial para las clases exportadas, es decir, ahora están completamente calificadas.
Los siguientes métodos ahora refuerzan su firma :
SplFileObject::hasChildren() ahora tiene un tipo de retorno provisional false, anteriormente era bool.
SplFileObject::getChildren() ahora tiene un tipo de retorno provisional null, anteriormente era ?RecursiveIterator.
GlobIterator ahora devuelve un array vacío si todos los caminos de acceso
están restringidos por open_basedir.
Anteriormente, devolvía false
.
Además, ahora se emite una advertencia incluso si solo algunos caminos están restringidos por
open_basedir.