Die Methode DateTime::createFromImmutable() hat nun den vorläufigen Rückgabetyp static, vorher war es DateTime.
Die Methode DateTimeImmutable::createFromMutable() hat nun den vorläufigen Rückgabetyp static, vorher war es DateTimeImmutable.
In relativen Formaten
akzeptieren die number
-Symbole keine mehrfachen
Vorzeichen mehr, z. B. +-2
.
Die Erweiterung ODBC maskiert nun den Benutzernamen und das Passwort für den Fall, dass sowohl eine Zeichenkette für die Verbindung als auch Benutzername/Passwort übergeben werden und die Zeichenkette angehängt werden muss. Zuvor konnten Benutzerwerte, die zu maskierende Werte enthielten, eine fehlerhafte Verbindungszeichenkette erzeugen oder Werte aus vom Benutzer bereitgestellten Daten injizieren. Die Regeln für die Maskierung sollten mit dem Verhalten der .NET BCL DbConnectionOptions identisch sein.
Wenn eine Zeichenkette für die Verbindung übergeben wird, werden bei der Erweiterung PDO_ODBC auch der Benutzername und das Passwort maskiert. Siehe Änderung an der Erweiterung ODBC für weitere Details.
Die Funktion glob() gibt nun ein leeres Array zurück,
wenn alle Pfade durch open_basedir
eingeschränkt sind. Zuvor gab sie false
zurück. Außerdem wird nun eine
Warnung ausgegeben, auch wenn nur einige Pfade durch
open_basedir eingeschränkt sind.
FilesystemIterator::__construct(): Vor PHP 8.2.0 war
die Konstante FilesystemIterator::SKIP_DOTS
immer
gesetzt und konnte nicht deaktiviert werden. Um das bisherige Verhalten
beizubehalten, muss die Konstante explizit gesetzt werden, wenn der
Parameter flags
verwendet wird. Der Standardwert des
Parameters flags
wurde nicht geändert.
Die Funktionen strtolower(),
strtoupper(),
stristr(),
stripos(),
strripos(),
lcfirst(),
ucfirst(),
ucwords() und str_ireplace()
berücksichtigen die Locale nicht mehr. Sie führen die Umwandlung der Groß-
und Kleinschreibung nun im ASCII-Format durch, als ob die Locale "C" wäre.
Lokalisierte Versionen dieser Funktionen stehen in der Erweiterung
MBString zur Verfügung. Darüber hinaus
verwenden array_change_key_case() und die Sortierung mit
SORT_FLAG_CASE
nun ebenfalls die Umwandlung von Groß-
und Kleinschreibung im ASCII-Format.
Die Funktion str_split() gibt bei einer leeren Zeichenkette nun ein leeres Array zurück. Zuvor gab sie in diesem Fall ein Array mit einem einzigen leeren Eintrag für die Zeichenkette zurück. Die Funktion mb_str_split() ist von dieser Änderung nicht betroffen, weil sie sich schon vorher so verhalten hat.
Die Funktionen ksort() und krsort()
führen Vergleiche von numerischen Zeichenketten nun gemäß
SORT_REGULAR
durch und verwenden dabei die
Standardregeln von PHP 8.
Die Funktion var_export() lässt bei exportierten Klassennamen den vorangestellten Backslash nicht mehr weg, d. h. diese sind nun voll qualifiziert.
Die folgenden Methoden erzwingen nun ihre Signatur:
Die Methode SplFileObject::hasChildren() hat nun den vorläufigen Rückgabetyp false, vorher war es bool.
Die Methode SplFileObject::getChildren() hat nun den vorläufigen Rückgabetyp null, vorher war es ?RecursiveIterator.
Die Klasse GlobIterator gibt nun ein leeres Array
zurück, wenn alle Pfade durch
open_basedir eingeschränkt sind.
Zuvor gab sie false
zurück. Außerdem wird nun eine Warnung ausgegeben,
auch wenn nur einige Pfade durch
open_basedir eingeschränkt sind.