除非类通过使用 #[\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}}"
。
对于所有 MBString 函数,已弃用使用 QPrint
、Base64
、Uuencode
和 HTML-ENTITIES
“文本编码”。与 MBString 支持的所有其他文本编码不同,这些编码不编码 Unicode 代码点序列,而是编码原始字节序列。当指定其中一个非编码时,大多数 MBString 函数的正确返回值尚不清楚。此外,PHP 对所有这些都有单独的内置实现;例如,可以使用 convert_uuencode()/convert_uudecode() 处理 UU 编码数据。
内部 SplFileInfo::_bad_state_ex() 方法已弃用。
utf8_encode() 和 utf8_decode() 已弃用。