Создание динамических свойств объявлено устаревшим, за исключением, если класс не обрабатывает их использование с помощью атрибута #[\AllowDynamicProperties]
. На экземплярах stdClass по-прежнему можно использовать динамические свойства. Изменение не влияет на использование магических методов __get()/__set(). Предупреждение об устаревании динамических свойств можно устранить с помощью:
#[\AllowDynamicProperties]
к классу (который также применяется ко всем дочерним классам). Вызываемые методы, не соответствующие синтаксису $callable()
(но работают с call_user_func()), объявлены устаревшими. В частности:
"self::method"
"parent::method"
"static::method"
["self", "method"]
["parent", "method"]
["static", "method"]
["Foo", "Bar::method"]
[new Foo, "Bar::method"]
"A::method"
или ["A", "method"]
. "${var}"
и "${expr}"
Стиль интерполяции строк "${var}"
и "${expr}"
объявлен устаревшим. Используйте "$var"/"{$var}"
и "{${expr}}"
соответственно.
Использование кодировок текста QPrint
, Base64
, Uuencode
и HTML-ENTITIES
объявлено устаревшим для всех функций MBString. В отличие от остальных текстовых кодировок, поддерживаемых MBString, эти кодировки не кодируют последовательность кодовых точек Unicode, а только последовательность необработанных байтов. Неясно, какими должны быть правильные возвращаемые значения для большинства функций MBString, если указана одна из этих кодировок. Более того, в PHP есть встроенные реализации всех этих кодировок; например, UU-закодированные данные можно обрабатывать с помощью функций convert_uuencode()/convert_uudecode().
Внутренний метод SplFileInfo::_bad_state_ex() объявлен устаревшим.
Функции utf8_encode() и utf8_decode() объявлены устаревшими.