The creation of dynamic properties is deprecated, unless the class opts in by using the #[\AllowDynamicProperties]
attribute. stdClass allows dynamic properties. Usage of the __get()/__set() magic methods is not affected by this change. A dynamic properties deprecation warning can be addressed by:
#[\AllowDynamicProperties]
attribute to the class (which also applies to all child classes). Callables that are not accepted by the $callable()
syntax (but are accepted by call_user_func()) are deprecated. In particular:
"self::method"
"parent::method"
"static::method"
["self", "method"]
["parent", "method"]
["static", "method"]
["Foo", "Bar::method"]
[new Foo, "Bar::method"]
"A::method"
or ["A", "method"]
. "${var}"
and "${expr}"
style interpolation The "${var}"
and "${expr}"
style of string interpolation is deprecated. Use "$var"/"{$var}"
and "{${expr}}"
, respectively.
Usage of the QPrint
, Base64
, Uuencode
, and HTML-ENTITIES
'text encodings' is deprecated for all MBString functions. Unlike all the other text encodings supported by MBString, these do not encode a sequence of Unicode codepoints, but rather a sequence of raw bytes. It is not clear what the correct return values for most MBString functions should be when one of these non-encodings is specified. Moreover, PHP has separate, built-in implementations of all of them; for example, UUencoded data can be handled using convert_uuencode()/convert_uudecode().
The internal SplFileInfo::_bad_state_ex() method has been deprecated.
utf8_encode() and utf8_decode() have been deprecated.