From 579bcc76a245e137725863990dd96d81647f6bfb Mon Sep 17 00:00:00 2001 From: lacatoire Date: Mon, 31 Aug 2026 13:25:26 +0200 Subject: [PATCH] unserialize: document boolean support for allowed_classes --- appendices/migration84/incompatible.xml | 26 +++++++++++++------------ reference/var/functions/unserialize.xml | 12 +++++++----- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/appendices/migration84/incompatible.xml b/appendices/migration84/incompatible.xml index 5d52fefa13..fc2f544dad 100644 --- a/appendices/migration84/incompatible.xml +++ b/appendices/migration84/incompatible.xml @@ -1,5 +1,5 @@ - + Изменения, которые ломают обратную совместимость @@ -403,9 +403,10 @@ Опция "allowed_classes" функции unserialize теперь выбрасывает - исключения TypeError - и ValueError, если в аргументе передали - не массив (array) имён классов. + ошибку TypeError + или ValueError, если в аргументе передали + не массив (array) имён классов и не логическое + значение (bool). @@ -505,19 +506,20 @@ Модуль MBString - В недопустимых строках с ошибками кодировки функция - mb_substr теперь интерпретирует индексы символов - аналогично большей части других функций для работы с многобайтовыми строками. + Начиная с PHP 8.3.2 в недопустимых строках с ошибками кодировки функции + mb_substr и mb_strstr интерпретируют + индексы символов аналогично большей части других функций для работы + с многобайтовыми строками. Поэтому символьные индексы, которые возвращает функция mb_strpos, разрешили передавать в функцию mb_substr. - Для строк в кодировке SJIS-Mac, или её псевдониме MacJapanese, индексы символов, - которые передают в функцию mb_substr, теперь ссылаются на индексы - кодовых точек кодировки Unicode, которые получаются при преобразовании строки в Unicode. - Это важно, поскольку около 40 символов кодировки SJIS-Mac преобразовываются - в последовательность из нескольких кодовых точек Unicode. + Для строк в кодировке SJIS-mac, или её псевдониме MacJapanese, + эти индексы символов ссылаются на индексы кодовых точек кодировки Unicode, + которые получаются при преобразовании строки в Unicode, а они отличаются + от индексов символов кодировки SJIS-mac, которые + преобразовываются в последовательность из нескольких кодовых точек. diff --git a/reference/var/functions/unserialize.xml b/reference/var/functions/unserialize.xml index 679c9a0f32..36288842ee 100644 --- a/reference/var/functions/unserialize.xml +++ b/reference/var/functions/unserialize.xml @@ -1,5 +1,5 @@ - + @@ -153,9 +153,10 @@ Начиная с PHP 8.4.0 функция unserialize - выбрасывает ошибки TypeError и ValueError, + выбрасывает ошибку TypeError или ValueError, если в элементе allowed_classes параметра options - передали не массив (array) с названиями классов. + передали не массив (array) с названиями классов и не логическое + значение (bool). @@ -174,9 +175,10 @@ 8.4.0 - Теперь выбрасывает исключения TypeError и + Теперь выбрасывает ошибку TypeError или ValueError, если элемент allowed_classes - параметра options не является массивом имён классов. + параметра options не является ни массивом имён классов, + ни логическим значением (bool).