Skip to content

Commit eb9eff0

Browse files
committed
Update language/dir/pdo
1 parent a2849bc commit eb9eff0

File tree

5 files changed

+209
-204
lines changed

5 files changed

+209
-204
lines changed

language/operators/functional.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<!-- EN-Revision: c999c7066ede7dc2df80e0bd3364bfa0ef1f9533 Maintainer: mowangjuanzi Status: ready -->
2+
<!-- EN-Revision: 2f1812217524ac60414745bad05cbbee00262b3b Maintainer: mowangjuanzi Status: ready -->
33
<sect1 xml:id="language.operators.functional">
44
<title>函数式运算符</title>
55
<titleabbrev>函数式</titleabbrev>
@@ -47,15 +47,15 @@ $result = "PHP Rocks"
4747
|> (fn($x) => array_map(strtoupper(...), $x))
4848
|> (fn($x) => array_filter($x, fn($v) => $v != 'O'))
4949
;
50-
echo $result, PHP_EOL;
50+
print_r($result);
5151
5252
$temp = "PHP Rocks";
5353
$temp = htmlentities($temp);
5454
$temp = str_split($temp);
5555
$temp = array_map(strtoupper(...), $temp);
5656
$temp = array_filter($temp, fn($v) => $v != 'O');
5757
$result = $temp;
58-
echo $result, PHP_EOL;
58+
print_r($result);
5959
?>
6060
]]>
6161
</programlisting>

reference/dir/functions/closedir.xml

Lines changed: 61 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<!-- $Revision$ -->
3-
<!-- EN-Revision: b0b19b66183b28cebc1ffbcf1e2b8763f9d9c7b3 Maintainer: dallas Status: ready -->
2+
<!-- EN-Revision: 5c7e9e1351240b5f9e0858cdeba8f754a366d1b7 Maintainer: dallas Status: ready -->
43
<!-- CREDITS: mowangjuanzi -->
54
<refentry xml:id="function.closedir" xmlns="http://docbook.org/ns/docbook">
65
<refnamediv>
@@ -14,59 +13,80 @@
1413
<type>void</type><methodname>closedir</methodname>
1514
<methodparam choice="opt"><type class="union"><type>resource</type><type>null</type></type><parameter>dir_handle</parameter><initializer>&null;</initializer></methodparam>
1615
</methodsynopsis>
17-
<para>
18-
关闭由 <parameter>dir_handle</parameter> 指定的目录流。流必须之前被
19-
<function>opendir</function> 所打开。
20-
</para>
16+
<simpara>
17+
关闭由 <parameter>dir_handle</parameter> 指定的目录流。
18+
</simpara>
2119
</refsect1>
2220

2321
<refsect1 role="parameters">
2422
&reftitle.parameters;
25-
<para>
26-
<variablelist>
27-
<varlistentry>
28-
<term><parameter>dir_handle</parameter></term>
29-
<listitem>
30-
<para>
31-
目录句柄的 <type>resource</type>,之前由
32-
<function>opendir</function> 所打开的。如果目录句柄没有指定,那么会假定为是
33-
<function>opendir</function> 所打开的最后一个句柄。
34-
</para>
35-
</listitem>
36-
</varlistentry>
37-
</variablelist>
38-
</para>
23+
<variablelist>
24+
<varlistentry>
25+
<term><parameter>dir_handle</parameter></term>
26+
<listitem>
27+
<simpara>
28+
先前通过 <function>opendir</function> 打开的目录句柄 <type>resource</type>。如果
29+
<parameter>dir_handle</parameter> 为 &null;,则使用最近一次通过
30+
<function>opendir</function> 打开的句柄。
31+
</simpara>
32+
</listitem>
33+
</varlistentry>
34+
</variablelist>
3935
</refsect1>
4036

4137
<refsect1 role="returnvalues">
4238
&reftitle.returnvalues;
43-
<para>
39+
<simpara>
4440
&return.void;
45-
</para>
41+
</simpara>
42+
</refsect1>
43+
44+
<refsect1 role="changelog">
45+
&reftitle.changelog;
46+
<informaltable>
47+
<tgroup cols="2">
48+
<thead>
49+
<row>
50+
<entry>&Version;</entry>
51+
<entry>&Description;</entry>
52+
</row>
53+
</thead>
54+
<tbody>
55+
<row>
56+
<entry>8.5.0</entry>
57+
<entry>
58+
现在已弃用将 <parameter>dir_handle</parameter> 设为 &null; 的做法,应明确提供最近打开的目录句柄。
59+
</entry>
60+
</row>
61+
<row>
62+
<entry>8.0.0</entry>
63+
<entry>
64+
<parameter>dir_handle</parameter> 现在可为 null。
65+
</entry>
66+
</row>
67+
</tbody>
68+
</tgroup>
69+
</informaltable>
4670
</refsect1>
4771

4872
<refsect1 role="examples">
4973
&reftitle.examples;
50-
<para>
51-
<example>
52-
<title><function>closedir</function> 例子</title>
53-
<programlisting role="php">
54-
<![CDATA[
55-
<?php
56-
$dir = "/etc/php5/";
74+
<simpara>
75+
完整示例请参见 <function>opendir</function> 的文档。
76+
</simpara>
77+
</refsect1>
5778

58-
// 打开已知目录,读取目录到变量并然后关闭
59-
if (is_dir($dir)) {
60-
if ($dh = opendir($dir)) {
61-
$directory = readdir($dh);
62-
closedir($dh);
63-
}
64-
}
65-
?>
66-
]]>
67-
</programlisting>
68-
</example>
69-
</para>
79+
<refsect1 role="seealso">
80+
&reftitle.seealso;
81+
<simplelist>
82+
<member><function>opendir</function></member>
83+
<member><function>readdir</function></member>
84+
<member><function>rewinddir</function></member>
85+
<member><function>dir</function></member>
86+
<member><function>is_dir</function></member>
87+
<member><function>glob</function></member>
88+
<member><function>scandir</function></member>
89+
</simplelist>
7090
</refsect1>
7191
</refentry>
7292
<!-- Keep this comment at the end of the file

reference/dir/functions/opendir.xml

Lines changed: 67 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<!-- $Revision$ -->
3-
<!-- EN-Revision: b0b19b66183b28cebc1ffbcf1e2b8763f9d9c7b3 Maintainer: dallas Status: ready -->
2+
<!-- EN-Revision: 5c7e9e1351240b5f9e0858cdeba8f754a366d1b7 Maintainer: dallas Status: ready -->
43
<!-- CREDITS: mowangjuanzi -->
54
<refentry xml:id="function.opendir" xmlns="http://docbook.org/ns/docbook">
65
<refnamediv>
@@ -15,51 +14,49 @@
1514
<methodparam><type>string</type><parameter>directory</parameter></methodparam>
1615
<methodparam choice="opt"><type class="union"><type>resource</type><type>null</type></type><parameter>context</parameter><initializer>&null;</initializer></methodparam>
1716
</methodsynopsis>
18-
<para>
17+
<simpara>
1918
打开一个目录句柄,可用于之后的
2019
<function>closedir</function>,<function>readdir</function> 和
2120
<function>rewinddir</function> 调用中。
22-
</para>
21+
</simpara>
2322
</refsect1>
2423

2524
<refsect1 role="parameters">
2625
&reftitle.parameters;
27-
<para>
28-
<variablelist>
29-
<varlistentry>
30-
<term><parameter>directory</parameter></term>
31-
<listitem>
32-
<para>
33-
要打开的目录路径
34-
</para>
35-
</listitem>
36-
</varlistentry>
37-
<varlistentry>
38-
<term><parameter>context</parameter></term>
39-
<listitem>
40-
<para>
41-
<parameter>context</parameter> 参数的说明见手册中的
42-
<link linkend="ref.stream">Streams API</link> 一章。
43-
</para>
44-
</listitem>
45-
</varlistentry>
46-
</variablelist>
47-
</para>
26+
<variablelist>
27+
<varlistentry>
28+
<term><parameter>directory</parameter></term>
29+
<listitem>
30+
<simpara>
31+
要打开的目录路径。
32+
</simpara>
33+
</listitem>
34+
</varlistentry>
35+
<varlistentry>
36+
<term><parameter>context</parameter></term>
37+
<listitem>
38+
<simpara>
39+
<parameter>context</parameter> 参数的说明见手册中的
40+
<link linkend="ref.stream">Streams API</link> 一章。
41+
</simpara>
42+
</listitem>
43+
</varlistentry>
44+
</variablelist>
4845
</refsect1>
4946

5047
<refsect1 role="returnvalues">
5148
&reftitle.returnvalues;
52-
<para>
53-
如果成功则返回目录句柄的 <type>resource</type>&return.falseforfailure;
54-
</para>
49+
<simpara>
50+
成功时返回目录句柄&return.falseforfailure;
51+
</simpara>
5552
</refsect1>
5653

5754
<refsect1 role="errors">
5855
&reftitle.errors;
5956
&fs.emits.warning.on.failure;
60-
<para>
57+
<simpara>
6158
如果 <parameter>directory</parameter> 不是有效的目录,由于权限不足或文件系统错误而无法打开目录,则可能会发生这种情况。
62-
</para>
59+
</simpara>
6360
</refsect1>
6461

6562
<refsect1 role="changelog">
@@ -86,49 +83,60 @@
8683

8784
<refsect1 role="examples">
8885
&reftitle.examples;
89-
<para>
90-
<example>
91-
<title><function>opendir</function> 示例</title>
92-
<programlisting role="php">
86+
<example>
87+
<title>
88+
列出目录中的所有条目,跳过特殊目录 <literal>.</literal> 和 <literal>..</literal>
89+
</title>
90+
<simpara>
91+
由于文件和目录名称可能是 PHP 视为“假值”的字符串(例如名为 <literal>"0"</literal>
92+
的目录),而 <function>readdir</function> 在读取完目录中所有条目后会返回 &false;,因此需使用
93+
<literal>===</literal> <link linkend="language.operators.comparison">比较运算符</link>,才能准确区分名称为“假值”的目录条目与已读取完所有目录条目的情况。
94+
</simpara>
95+
<programlisting role="php">
9396
<![CDATA[
9497
<?php
95-
$dir = "/etc/php5/";
9698
97-
// 打开已知目录,然后继续读取内容
98-
if (is_dir($dir)) {
99-
if ($dh = opendir($dir)) {
100-
while (($file = readdir($dh)) !== false) {
101-
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
99+
if ($handle = opendir('/path/to/files')) {
100+
echo "Entries:\n";
101+
102+
/* 正确处理可能会视为假值的目录条目 */
103+
while (false !== ($entry = readdir($handle))) {
104+
if ($entry === '.' || $entry === '..') {
105+
continue;
102106
}
103-
closedir($dh);
107+
echo "$entry\n";
104108
}
109+
110+
closedir($handle);
105111
}
106112
?>
107113
]]>
108-
</programlisting>
109-
&example.outputs.similar;
110-
<screen>
114+
</programlisting>
115+
&example.outputs.similar;
116+
<screen>
111117
<![CDATA[
112-
filename: . : filetype: dir
113-
filename: .. : filetype: dir
114-
filename: apache : filetype: dir
115-
filename: cgi : filetype: dir
116-
filename: cli : filetype: dir
118+
Entries:
119+
base
120+
en
121+
fr
122+
output.md
123+
test.php
117124
]]>
118-
</screen>
119-
</example>
120-
</para>
125+
</screen>
126+
</example>
121127
</refsect1>
122128

123129
<refsect1 role="seealso">
124130
&reftitle.seealso;
125-
<para>
126-
<simplelist>
127-
<member><function>is_dir</function></member>
128-
<member><function>readdir</function></member>
129-
<member><function>dir</function></member>
130-
</simplelist>
131-
</para>
131+
<simplelist>
132+
<member><function>readdir</function></member>
133+
<member><function>rewinddir</function></member>
134+
<member><function>closedir</function></member>
135+
<member><function>dir</function></member>
136+
<member><function>is_dir</function></member>
137+
<member><function>glob</function></member>
138+
<member><function>scandir</function></member>
139+
</simplelist>
132140
</refsect1>
133141
</refentry>
134142
<!-- Keep this comment at the end of the file

0 commit comments

Comments
 (0)