Создание динамических свойств объявлено устаревшим, за исключением, если класс
не обрабатывает их использование с помощью атрибута #[\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() объявлены устаревшими.