-
Notifications
You must be signed in to change notification settings - Fork 107
/
deprecated.xml
115 lines (98 loc) · 4.15 KB
/
deprecated.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 65716f4761484e314ee86fa23493f00f7823ace1 Maintainer: mowangjuanzi Status: ready -->
<sect1 xml:id="migration82.deprecated">
<title>废弃的功能</title>
<sect2 xml:id="migration82.deprecated.core">
<title>PHP 核心</title>
<sect3 xml:id="migration82.deprecated.core.dynamic-properties">
<title>动态属性的使用</title>
<para>
弃用动态属性创建,除非类选择使用 <code>#[\AllowDynamicProperties]</code>
注解。<classname>stdClass</classname> 允许动态属性。<link
linkend="object.get">__get()</link>/<link linkend="object.set">__set()</link>
魔术方法不受此更改的影响。解决动态属性弃用警告,可以通过以下方式:
<simplelist>
<member>声明属性(首选)。</member>
<member>
将 <code>#[\AllowDynamicProperties]</code> 添加到
<code>#[\AllowDynamicProperties]</code>(这也适用于所有子类)。
</member>
<member>
如果需要将附加数据于不属于自己的对象相关联,则使用 <classname>WeakMap</classname>。
</member>
</simplelist>
</para>
</sect3>
<sect3 xml:id="migration82.deprecated.core.relative-callables">
<title>Relative callables</title>
<para>
弃用 <code>$callable()</code> 语法不接受的可调用对象(但
<function>call_user_func</function> 接受)。尤其是:
<simplelist>
<member><code>"self::method"</code></member>
<member><code>"parent::method"</code></member>
<member><code>"static::method"</code></member>
<member><code>["self", "method"]</code></member>
<member><code>["parent", "method"]</code></member>
<member><code>["static", "method"]</code></member>
<member><code>["Foo", "Bar::method"]</code></member>
<member><code>[new Foo, "Bar::method"]</code></member>
</simplelist>
这不会影响正常方法调用,比如 <code>"A::method"</code> 或
<code>["A", "method"]</code>。
</para>
<!-- RFC: https://wiki.php.net/rfc/deprecate_partially_supported_callables -->
<!-- RFC: https://wiki.php.net/rfc/partially-supported-callables-expand-deprecation-notices -->
</sect3>
<sect3 xml:id="migration82.deprecated.core.dollar-brace-interpolation">
<title><code>"${var}"</code> 和 <code>"${expr}"</code> 样式插值</title>
<para>
弃用字符串插值的 <code>"${var}"</code> 和 <code>"${expr}"</code> 样式。
Use <code>"$var"/"{$var}"</code> and <code>"{${expr}}"</code>, respectively.
<!-- RFC: https://wiki.php.net/rfc/deprecate_dollar_brace_string_interpolation -->
</para>
</sect3>
</sect2>
<sect2 xml:id="migration82.deprecated.mbstring">
<title>MBString</title>
<para>
对于所有的 MBString 函数,已经弃用了 <literal>QPrint</literal>、<literal>Base64</literal>、<literal>Uuencode</literal>
和 <literal>HTML-ENTITIES</literal> 等“文本编码”。
与 MBString 支持的其他文本编码不同,这些编码不是对 Unicode 码点序列进行编码,而是对原始字节序列进行编码。当指定了这些非编码时,大多数
MBString 函数的返回值不清楚是否正确。此外,PHP 已经内置了它们的单独实现;例如,可以使用
<function>convert_uuencode</function>/<function>convert_uudecode</function> 处理 Uuencode 编码的数据。
</para>
</sect2>
<sect2 xml:id="migration82.deprecated.spl">
<title>SPL</title>
<para>
弃用内部方法 <methodname>SplFileInfo::_bad_state_ex</methodname>。
</para>
</sect2>
<sect2 xml:id="migration82.deprecated.standard">
<title>标准</title>
<para>
弃用 <function>utf8_encode</function> 和 <function>utf8_decode</function>。
</para>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->