array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'migration82.deprecated.php', 1 => '废弃的功能', ), 'up' => array ( 0 => 'migration82.php', 1 => '从 PHP 8.1.x 移植到 PHP 8.2.x', ), 'prev' => array ( 0 => 'migration82.incompatible.php', 1 => '不向后兼容的变更', ), 'next' => array ( 0 => 'migration82.other-changes.php', 1 => '其他变更', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'zh', 'path' => 'appendices/migration82/deprecated.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
弃用动态属性创建,除非类选择使用 #[\AllowDynamicProperties]
注解。stdClass 允许动态属性。__get()/__set()
魔术方法不受此更改的影响。解决动态属性弃用警告,可以通过以下方式:
#[\AllowDynamicProperties]
添加到
#[\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}"
样式。
Use "$var"/"{$var}"
and "{${expr}}"
, respectively.
对于所有的 MBString 函数,已经弃用了 QPrint
、Base64
、Uuencode
和 HTML-ENTITIES
等“文本编码”。
与 MBString 支持的其他文本编码不同,这些编码不是对 Unicode 码点序列进行编码,而是对原始字节序列进行编码。当指定了这些非编码时,大多数
MBString 函数的返回值不清楚是否正确。此外,PHP 已经内置了它们的单独实现;例如,可以使用
convert_uuencode()/convert_uudecode() 处理 Uuencode 编码的数据。
弃用内部方法 SplFileInfo::_bad_state_ex()。
弃用 utf8_encode() 和 utf8_decode()。