Skip to content

Commit 6b9c0db

Browse files
committed
PHP 8.4: CSV related changes and deprecations の取り込み
php/doc-en#4093 以下も合わせて取り込む reference/spl/splfileobject/setcsvcontrol.xml - [skip-revcheck] Fill xi:fallback to avoid 'variablelist incomplete' in some translations - php/doc-en#4128 - Update setcsvcontrol.xml Fix typo - php/doc-en#4379 reference/spl/splfileobject/fgetcsv.xml - Update fgetcsv.xml Remove the duplicate sentence - php/doc-en#4111
1 parent b46a9cd commit 6b9c0db

File tree

7 files changed

+219
-230
lines changed

7 files changed

+219
-230
lines changed

reference/filesystem/functions/fgetcsv.xml

Lines changed: 45 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: cef78b0fbe0fbe02003699b027ab50200097e949 Maintainer: hirokawa Status: ready -->
3+
<!-- EN-Revision: 73007ad9889ca2a3d85b0a710b55deb44ac370cc Maintainer: hirokawa Status: ready -->
44
<!-- CREDITS: shimooka,mumumu -->
55
<refentry xml:id="function.fgetcsv" xmlns="http://docbook.org/ns/docbook">
66
<refnamediv>
@@ -25,11 +25,12 @@
2525
読み込んだフィールドを含む配列を返すという違いがあります。
2626
</para>
2727
<note>
28-
<para>
29-
この関数はロケール設定を考慮します。もし <constant>LC_CTYPE</constant>
30-
が例えば <literal>en_US.UTF-8</literal> の場合、
31-
1 バイトエンコーディングのファイルは間違って読み込まれるかもしれません。
32-
</para>
28+
<simpara>
29+
この関数はロケール設定を考慮します。
30+
例えば、<constant>LC_CTYPE</constant> が <literal>en_US.UTF-8</literal> の場合、
31+
1 バイトエンコーディングでエンコードされたデータが
32+
間違って処理されるかもしれません。
33+
</simpara>
3334
</note>
3435
</refsect1>
3536

@@ -100,6 +101,14 @@
100101
特別な意味はありません。それ自身をエスケープする意味ですらありません。
101102
</simpara>
102103
</note>
104+
<warning>
105+
<simpara>
106+
PHP 8.4.0 以降では、<parameter>escape</parameter>
107+
のデフォルト値に依存することは非推奨となりました。
108+
位置指定の引数か、<link linkend="functions.named-arguments">名前付き引数</link>
109+
を使用して明示的に指定する必要があります。
110+
</simpara>
111+
</warning>
103112
</listitem>
104113
</varlistentry>
105114
</variablelist>
@@ -123,6 +132,18 @@
123132
&note.line-endings;
124133
</refsect1>
125134

135+
<refsect1 role="errors">
136+
&reftitle.errors;
137+
<simpara>
138+
<parameter>separator</parameter> または <parameter>enclosure</parameter> が
139+
1 バイト長ではない場合、<exceptionname>ValueError</exceptionname> をスローします。
140+
</simpara>
141+
<simpara>
142+
<parameter>escape</parameter> が 1 バイト長、または空文字列ではない場合、
143+
<exceptionname>ValueError</exceptionname> をスローします。
144+
</simpara>
145+
</refsect1>
146+
126147
<refsect1 role="changelog">
127148
&reftitle.changelog;
128149
<para>
@@ -135,6 +156,13 @@
135156
</row>
136157
</thead>
137158
<tbody>
159+
<row>
160+
<entry>8.4.0</entry>
161+
<entry>
162+
<parameter>escape</parameter> のデフォルト値に依存することは、
163+
非推奨になりました。
164+
</entry>
165+
</row>
138166
<row>
139167
<entry>8.0.0</entry>
140168
<entry>
@@ -184,15 +212,17 @@ if (($handle = fopen("test.csv", "r")) !== FALSE) {
184212

185213
<refsect1 role="seealso">
186214
&reftitle.seealso;
187-
<para>
188-
<simplelist>
189-
<member><function>str_getcsv</function></member>
190-
<member><function>explode</function></member>
191-
<member><function>file</function></member>
192-
<member><function>pack</function></member>
193-
<member><function>fputcsv</function></member>
194-
</simplelist>
195-
</para>
215+
<simplelist>
216+
<member><function>fputcsv</function></member>
217+
<member><function>str_getcsv</function></member>
218+
<member><methodname>SplFileObject::fgetcsv</methodname></member>
219+
<member><methodname>SplFileObject::fputcsv</methodname></member>
220+
<member><methodname>SplFileObject::setCsvControl</methodname></member>
221+
<member><methodname>SplFileObject::getCsvControl</methodname></member>
222+
<member><function>explode</function></member>
223+
<member><function>file</function></member>
224+
<member><function>pack</function></member>
225+
</simplelist>
196226
</refsect1>
197227

198228
</refentry>

reference/filesystem/functions/fputcsv.xml

Lines changed: 29 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: cef78b0fbe0fbe02003699b027ab50200097e949 Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: 73007ad9889ca2a3d85b0a710b55deb44ac370cc Maintainer: takagi Status: ready -->
44
<!-- Credits: mumumu -->
5-
<refentry xml:id="function.fputcsv" xmlns="http://docbook.org/ns/docbook">
5+
<refentry xml:id="function.fputcsv" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
66
<refnamediv>
77
<refname>fputcsv</refname>
88
<refpurpose>行を CSV 形式にフォーマットし、ファイルポインタに書き込む</refpurpose>
@@ -21,9 +21,9 @@
2121
</methodsynopsis>
2222
<para>
2323
<function>fputcsv</function> は、行(<parameter>fields</parameter>
24-
配列として渡されたもの)を CSV としてフォーマットし、それを
25-
<parameter>stream</parameter> で指定したファイルに書き込みます
26-
(いちばん最後に改行を追加します)。
24+
配列として渡されたもの)を <acronym>CSV</acronym> としてフォーマットし、それを
25+
指定した <parameter>stream</parameter> に書き込みます
26+
(いちばん最後に <parameter>eol</parameter> を追加します)。
2727
</para>
2828
</refsect1>
2929

@@ -45,34 +45,15 @@
4545
</para>
4646
</listitem>
4747
</varlistentry>
48-
<varlistentry>
49-
<term><parameter>separator</parameter></term>
50-
<listitem>
51-
<para>
52-
オプションの <parameter>separator</parameter> はフィールド区切り文字
53-
(シングルバイト文字 一文字だけ) を指定します。
54-
</para>
55-
</listitem>
56-
</varlistentry>
57-
<varlistentry>
58-
<term><parameter>enclosure</parameter></term>
59-
<listitem>
60-
<para>
61-
オプションの <parameter>enclosure</parameter> はフィールドを囲む文字
62-
(シングルバイト文字 一文字だけ) を指定します。
63-
</para>
64-
</listitem>
65-
</varlistentry>
66-
<varlistentry>
67-
<term><parameter>escape</parameter></term>
68-
<listitem>
69-
<para>
70-
オプションの <parameter>escape</parameter> は、エスケープ文字
71-
(シングルバイト文字 最大で一文字) を指定します。
72-
空文字(<literal>""</literal>) を指定すると、(RFC 4180 に準拠していない) 独自仕様のエスケープ機構が無効になります。
73-
</para>
74-
</listitem>
75-
</varlistentry>
48+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('function.fgetcsv')/db:refsect1[@role='parameters']//db:varlistentry[db:term[db:parameter[text()='separator']]]/.)">
49+
<xi:fallback/>
50+
</xi:include>
51+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('function.fgetcsv')/db:refsect1[@role='parameters']//db:varlistentry[db:term[db:parameter[text()='enclosure']]]/.)">
52+
<xi:fallback/>
53+
</xi:include>
54+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('function.fgetcsv')/db:refsect1[@role='parameters']//db:varlistentry[db:term[db:parameter[text()='escape']]]/.)">
55+
<xi:fallback/>
56+
</xi:include>
7657
<varlistentry>
7758
<term><parameter>eol</parameter></term>
7859
<listitem>
@@ -100,6 +81,10 @@
10081
</para>
10182
</refsect1>
10283

84+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('function.fgetcsv')/db:refsect1[@role='errors']/.)">
85+
<xi:fallback/>
86+
</xi:include>
87+
10388
<refsect1 role="changelog">
10489
&reftitle.changelog;
10590
<para>
@@ -112,6 +97,9 @@
11297
</row>
11398
</thead>
11499
<tbody>
100+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('function.fgetcsv')/db:refsect1[@role='changelog']//db:row[db:entry[text()='8.4.0']]/.)">
101+
<xi:fallback/>
102+
</xi:include>
115103
<row>
116104
<entry>8.1.0</entry>
117105
<entry>
@@ -170,18 +158,16 @@ aaa,bbb,ccc,dddd
170158
</para>
171159
</refsect1>
172160

173-
<refsect1 role="notes">
174-
&reftitle.notes;
175-
&note.line-endings;
176-
</refsect1>
177-
178161
<refsect1 role="seealso">
179162
&reftitle.seealso;
180-
<para>
181-
<simplelist>
182-
<member><function>fgetcsv</function></member>
183-
</simplelist>
184-
</para>
163+
<simplelist>
164+
<member><function>fgetcsv</function></member>
165+
<member><function>str_getcsv</function></member>
166+
<member><methodname>SplFileObject::fgetcsv</methodname></member>
167+
<member><methodname>SplFileObject::fputcsv</methodname></member>
168+
<member><methodname>SplFileObject::setCsvControl</methodname></member>
169+
<member><methodname>SplFileObject::getCsvControl</methodname></member>
170+
</simplelist>
185171
</refsect1>
186172

187173
</refentry>

reference/spl/splfileobject/fgetcsv.xml

Lines changed: 38 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: cef78b0fbe0fbe02003699b027ab50200097e949 Maintainer: masakielastic Status: ready -->
3+
<!-- EN-Revision: f1eb91d07d2df082384b3f83c9d2a0dc1e439d32 Maintainer: masakielastic Status: ready -->
44
<!-- Credits: mumumu -->
5-
<refentry xml:id="splfileobject.fgetcsv" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
5+
<refentry xml:id="splfileobject.fgetcsv" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
66
<refnamediv>
77
<refname>SplFileObject::fgetcsv</refname>
88
<refpurpose>ファイルから行を取り出し CSV フィールドとして処理する</refpurpose>
@@ -19,14 +19,9 @@
1919
<para>
2020
<acronym>CSV</acronym> フォーマットのファイルから行を取り出し読み込まれたフィールドを含む配列を返します。
2121
</para>
22-
<note>
23-
<para>
24-
この関数は、ロケール設定を考慮します。
25-
<constant>LC_CTYPE</constant> がたとえば
26-
<literal>en_US.UTF-8</literal> だった場合、
27-
ファイルの1バイトのエンコーディングは、この関数では間違った読まれ方をする可能性があります。
28-
</para>
29-
</note>
22+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('function.fgetcsv')/db:refsect1[@role='description']//db:note/.)">
23+
<xi:fallback/>
24+
</xi:include>
3025
</refsect1>
3126

3227
<refsect1 role="parameters">
@@ -38,8 +33,8 @@
3833
<listitem>
3934
<para>
4035
フィールドの区切り文字 (シングルバイト文字 1 文字のみ)。
41-
デフォルトはカンマもしくは
42-
<methodname>SplFileObject::setCsvControl</methodname> を使ってセットされた値です
36+
デフォルトはカンマ(<literal>,</literal>)、 もしくは事前に
37+
<methodname>SplFileObject::setCsvControl</methodname> を呼び出してセットされた値です
4338
</para>
4439
</listitem>
4540
</varlistentry>
@@ -48,8 +43,8 @@
4843
<listitem>
4944
<para>
5045
フィールド囲み文字 (シングルバイト文字 1 文字のみ)。
51-
デフォルトはダブルクォートもしくは
52-
<methodname>SplFileObject::setCsvControl</methodname> を使ってセットされた値です
46+
デフォルトはダブルクォート(<literal>"</literal>)、もしくは事前に
47+
<methodname>SplFileObject::setCsvControl</methodname> を呼び出してセットされた値です
5348
</para>
5449
</listitem>
5550
</varlistentry>
@@ -58,8 +53,8 @@
5853
<listitem>
5954
<para>
6055
エスケープ文字 (シングルバイト文字 最大で1文字)。
61-
デフォルトはバックスラッシュ (<literal>\</literal>) もしくは
62-
<methodname>SplFileObject::setCsvControl</methodname> を使ってセットされた値です
56+
デフォルトはバックスラッシュ(<literal>\</literal>)、 もしくは事前に
57+
<methodname>SplFileObject::setCsvControl</methodname> を呼び出してセットされた値です
6358
空文字列(<literal>""</literal>)の場合、(RFC 4180 に準拠していない) 独自仕様のエスケープ機構が無効になります。
6459
</para>
6560
<note>
@@ -74,6 +69,15 @@
7469
特別な意味はありません。それ自身をエスケープする意味ですらありません。
7570
</simpara>
7671
</note>
72+
<warning>
73+
<simpara>
74+
PHP 8.4.0 以降では、<parameter>escape</parameter>
75+
のデフォルト値に依存することは非推奨となりました。
76+
位置指定の引数か、<link linkend="functions.named-arguments">名前付き引数</link>を使用するか、
77+
あるいは <methodname>SplFileObject::setCsvControl</methodname>
78+
を呼び出して、明示的に指定する必要があります。
79+
</simpara>
80+
</warning>
7781
</listitem>
7882
</varlistentry>
7983
</variablelist>
@@ -93,6 +97,10 @@
9397
</note>
9498
</refsect1>
9599

100+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('function.fgetcsv')/db:refsect1[@role='errors']/.)">
101+
<xi:fallback/>
102+
</xi:include>
103+
96104
<refsect1 role="changelog">
97105
&reftitle.changelog;
98106
<para>
@@ -105,6 +113,9 @@
105113
</row>
106114
</thead>
107115
<tbody>
116+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('function.fgetcsv')/db:refsect1[@role='changelog']//db:row[db:entry[text()='8.4.0']]/.)">
117+
<xi:fallback/>
118+
</xi:include>
108119
<row>
109120
<entry>7.4.0</entry>
110121
<entry>
@@ -176,14 +187,17 @@ A salmon is a fish with 0 legs
176187

177188
<refsect1 role="seealso">
178189
&reftitle.seealso;
179-
<para>
180-
<simplelist>
181-
<member><methodname>SplFileObject::setCsvControl</methodname></member>
182-
<member><methodname>SplFileObject::setFlags</methodname></member>
183-
<member><link linkend="splfileobject.constants.read-csv">SplFileObject::READ_CSV</link></member>
184-
<member><methodname>SplFileObject::current</methodname></member>
185-
</simplelist>
186-
</para>
190+
<simplelist>
191+
<member><methodname>SplFileObject::fputcsv</methodname></member>
192+
<member><methodname>SplFileObject::setCsvControl</methodname></member>
193+
<member><methodname>SplFileObject::getCsvControl</methodname></member>
194+
<member><methodname>SplFileObject::setFlags</methodname></member>
195+
<member><constant>SplFileObject::READ_CSV</constant></member>
196+
<member><methodname>SplFileObject::current</methodname></member>
197+
<member><function>fputcsv</function></member>
198+
<member><function>fgetcsv</function></member>
199+
<member><function>str_getcsv</function></member>
200+
</simplelist>
187201
</refsect1>
188202

189203
</refentry>

0 commit comments

Comments
 (0)