Deprecated Features
PHP Core
Usage of dynamic properties
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: Declaring the property (preferred)., Adding the #[\AllowDynamicProperties] attribute to the class (which also applies to all child classes)., Using a WeakMap if additional data needs to be associated with an object which one does not own.
Relative callables
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"] This does not affect normal method callables such as "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.
MBString
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.
SPL
The internal SplFileInfo::_bad_state_ex method has been deprecated.
Standard
utf8_encode and utf8_decode have been deprecated.
谢谢你的反馈!