PHP 8.0.26 Released!

Изменения, ломающие обратную совместимость

Date

У метода DateTime::createFromImmutable() теперь предварительный возвращаемый тип static, ранее возвращаемый тип был DateTime.

У метода DateTimeImmutable::createFromMutable() теперь предварительный возвращаемый тип static, ранее возвращаемый тип был DateTimeImmutable.

ODBC

Модуль ODBC теперь экранирует имя пользователя и пароль в случае, если передаётся строка соединения вместе с именем пользователя/паролем, тогда строка соединения будет изменена. Раньше при использовании пользовательских значений, нуждающихся в экранировании, могли сгенерировать неправильную строку соединения или вставить значения из данных, полученных от пользователя. Правила экранирования должны быть идентичны поведению .NET BCL DbConnectionOptions.

PDO_ODBC

Модуль PDO_ODBC также экранирует имя пользователя и пароль при передаче строки подключения. Дополнительные сведения смотрите в разделе изменение модуля ODBC.

Стандартные функции

Функция glob() теперь возвращает пустой массив (array), если все пути находятся вне пределов директории, определённой в open_basedir. Ранее функция возвращала false. Более того, предупреждение теперь выдаётся, даже если только некоторые пути ограничены с помощью директивы open_basedir.

Функции strtolower(), strtoupper(), stristr(), stripos(), strripos(), lcfirst(), ucfirst(), ucwords() и str_ireplace() больше не чувствительны к локализации. Теперь они выполняют преобразование регистра ASCII, как если бы локаль была "C". Локализованные версии этих функций доступны в модуле MBString. Более того, функция array_change_key_case() и сортировка с помощью SORT_FLAG_CASE теперь также используют преобразование регистра ASCII.

Функция str_split() теперь возвращает пустой массив (array), если была вызвана с пустой строки (string). Ранее она возвращала массив с одной пустой строкой. На функцию mb_str_split() это изменение не влияет, так как она уже работала подобным образом.

Функции ksort() и krsort() теперь выполняют сравнение числовых строк при SORT_REGULAR, используя стандартные правила PHP 8.

Стандартная библиотека PHP (SPL)

Следующие методы теперь усиливают свою сигнатуру:

У метода SplFileObject::hasChildren() теперь предварительный возвращаемый тип false, ранее он был bool.

У метода SplFileObject::getChildren() теперь предварительный возвращаемый тип null, ранее он был ?RecursiveIterator.

Класс GlobIterator теперь возвращает пустой массив (array), если все пути находятся вне пределов директории, заданной в open_basedir. Ранее он возвращал false. Более того, теперь выдаётся предупреждение, даже если только некоторые из путей находятся за пределами open_basedir.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top