ODBC
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.
Standard
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.