Skip to content

Commit 0115bb4

Browse files
コアと移行ガイドを英語版の最新に追従 (#339)
* コアと移行ガイドを英語版の最新に追従 language/ コア: - language/operators/precedence.xml: パイプ演算子と throw を追加 - language/predefined/generator/rewind.xml: 説明文を修正 - language/predefined/iterator/rewind.xml: rewind の注意事項を追加 - language/predefined/variables/server.xml: REQUEST_TIME の説明を修正 - faq/using.xml: 名前付き引数とプリペアドステートメントの推奨を追加 - language/predefined/closure.xml: Closure::getCurrent を追加 - language/control-structures/do-while.xml: インデント修正 - language/oop5/property-hooks.xml: 不足していた $modified プロパティを追加 reference/, appendices/: - reference/opcache/ini.xml: 最適化パスのビットマスク表を追加 - appendices/reserved.constants.core.xml: PHP_BUILD_DATE, PHP_BUILD_PROVIDER を追加 - appendices/migration85/incompatible.xml: setlocale の整数引数の変更を追加 - reference/strings/functions/setlocale.xml: 変更履歴セクションを追加 * 用語の統一(オプティマイザー→最適化エンジン)
1 parent 33a0e91 commit 0115bb4

12 files changed

Lines changed: 287 additions & 31 deletions

File tree

appendices/migration85/incompatible.xml

Lines changed: 8 additions & 1 deletion
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: 87d781c7710702181b0d0669cf2c4d0f5c9d3037 Maintainer: mumumu Status: ready -->
3+
<!-- EN-Revision: ec01a42be50e84f192c0b19fc6e9cf40a0f7ac31 Maintainer: mumumu Status: ready -->
44
<sect1 xml:id="migration85.incompatible" xmlns:xlink="http://www.w3.org/1999/xlink">
55
<title>下位互換性のない変更点</title>
66

@@ -500,6 +500,13 @@
500500
<exceptionname>TypeError</exceptionname> がスローされるようになりました。
501501
</simpara>
502502

503+
<simpara>
504+
<function>setlocale</function> の
505+
<parameter>locales</parameter> 引数に整数 <literal>0</literal>
506+
を渡すことはサポートされなくなり、
507+
<exceptionname>TypeError</exceptionname> がスローされるようになりました。
508+
</simpara>
509+
503510
</sect2>
504511

505512
<sect2 xml:id="migration85.incompatible.simplexml">

appendices/reserved.constants.core.xml

Lines changed: 36 additions & 3 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: b2fa00ca2e052f87785a7f8b296466edc4e55767 Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: 04250271154f102f7aa1d629665a30fdb670b927 Maintainer: takagi Status: ready -->
44
<!-- CREDITS: hirokawa,shimooka,mumumu -->
55
<sect2 xml:id="reserved.constants.core" xmlns="http://docbook.org/ns/docbook">
66
<title>コアの定義済みの定数</title>
@@ -83,6 +83,34 @@
8383
</simpara>
8484
</listitem>
8585
</varlistentry>
86+
<varlistentry xml:id="constant.php-build-date">
87+
<term>
88+
<constant>PHP_BUILD_DATE</constant>
89+
(<type>string</type>)
90+
</term>
91+
<listitem>
92+
<simpara>
93+
PHP がビルドされた日時。<literal>"M d Y H:i:s"</literal> 形式。PHP 8.5.0 以降で利用可能。
94+
</simpara>
95+
</listitem>
96+
</varlistentry>
97+
<varlistentry xml:id="constant.php-build-provider">
98+
<term>
99+
<constant>PHP_BUILD_PROVIDER</constant>
100+
(<type>string</type>)
101+
</term>
102+
<listitem>
103+
<simpara>
104+
PHP をビルドしたプロバイダー。PHP 8.5.0 以降で利用可能。
105+
</simpara>
106+
<note>
107+
<simpara>
108+
この定数は、すべての PHP ビルドで利用可能とは限りません
109+
(例: ソースからビルドする際に、構成時に値を指定しなかった場合は設定されません)。
110+
</simpara>
111+
</note>
112+
</listitem>
113+
</varlistentry>
86114
<varlistentry xml:id="constant.zend-thread-safe">
87115
<term>
88116
<constant>ZEND_THREAD_SAFE</constant>
@@ -405,6 +433,11 @@
405433
<simpara>
406434
man ページのインストール先。
407435
</simpara>
436+
<note>
437+
<simpara>
438+
この定数は、Windows ビルドの PHP には存在しません。
439+
</simpara>
440+
</note>
408441
</listitem>
409442
</varlistentry>
410443
<varlistentry xml:id="constant.php-libdir">
@@ -698,9 +731,9 @@
698731
</listitem>
699732
</varlistentry>
700733
</variablelist>
701-
<para>
734+
<simpara>
702735
<link linkend="language.constants.magic">マジック定数</link> も参照ください。
703-
</para>
736+
</simpara>
704737
</sect2>
705738
<!-- Keep this comment at the end of the file
706739
Local variables:

faq/using.xml

Lines changed: 12 additions & 3 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: aab33d644359aba597e810e2fc0c0caa0d347c9c Maintainer: hirokawa Status: ready -->
3+
<!-- EN-Revision: 1709768e97fce7848c62aa2bf988419527bd1e8e Maintainer: hirokawa Status: ready -->
44
<!-- CREDITS: takagi,mumumu -->
55

66
<chapter xml:id="faq.using" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
@@ -15,7 +15,6 @@
1515
<qandaset>
1616

1717
<qandaentry xml:id="faq.using.parameterorder">
18-
<!-- TODO: Mention named arguments -->
1918
<question>
2019
<para>
2120
PHP の関数のパラメータの順番を覚えられません。だって関数によってばらばらなんだもん。
@@ -33,6 +32,10 @@
3332
<link linkend="book.strings">文字列関数</link> はその逆で
3433
"<emphasis>haystack, needle</emphasis>" の順となります。
3534
</para>
35+
<para>
36+
PHP 8.0 以降では、<link linkend="functions.named-arguments">名前付き引数</link>
37+
によってパラメータ名で引数を渡すことができるため、パラメータの順序をそれほど気にする必要はありません。
38+
</para>
3639
</answer>
3740
</qandaentry>
3841

@@ -48,7 +51,7 @@
4851
<para>
4952
PHPは<varname>$_POST</varname>のような
5053
<link linkend="language.variables.predefined">定義済みの変数</link>
51-
を沢山提供しています。<varname>$_POST</varname>を連想配列として
54+
を沢山提供しています。<varname>$_POST</varname> を連想配列として
5255
ループすることでPOSTされた全ての値にアクセスできます。例えば、
5356
&foreach; で単純にループして <function>empty</function> で値をチェックし、
5457
結果を出力します。
@@ -101,6 +104,12 @@ if (empty($empty)) {
101104
<function>stripslashes</function> もありますが、
102105
これはさらに古い時代の PHP コードで使われていたものです。
103106
</para>
107+
<para>
108+
手動で値をエスケープする方法はエラーが発生しやすく、コンテキストに依存します。
109+
エスケープした文字列を連結してクエリを組み立てるのではなく、
110+
プリペアドステートメントとパラメータバインディングをサポートする
111+
データベース API を使うようにしてください。
112+
</para>
104113
</answer>
105114
</qandaentry>
106115

language/control-structures/do-while.xml

Lines changed: 2 additions & 2 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: 7104ee97ced1768a3231588dfc0bc0d7eb1117ad Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: 53fb200fed6d316b0616a915eb87a40de1d80f51 Maintainer: takagi Status: ready -->
44
<!-- Credits: mumumu -->
55

66
<sect1 xml:id="control-structures.do.while" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
@@ -57,7 +57,7 @@ do {
5757
if ($i < $minimum_limit) {
5858
break;
5959
}
60-
echo "iはOKです。";
60+
echo "iはOKです。";
6161
6262
/* i を処理します */
6363

language/oop5/property-hooks.xml

Lines changed: 3 additions & 1 deletion
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: cd2980a57a0845def25ed84276d9662159a91bd5 Maintainer: KentarouTakeda Status: ready -->
3+
<!-- EN-Revision: 88eb0d53c6520804fb1dc17f35fa481451657fb7 Maintainer: KentarouTakeda Status: ready -->
44
<sect1 xml:id="language.oop5.property-hooks" xmlns="http://docbook.org/ns/docbook">
55
<title>プロパティフック</title>
66

@@ -184,6 +184,8 @@ class Example
184184
<?php
185185
class Example
186186
{
187+
private bool $modified = false;
188+
187189
public string $foo = 'default value' {
188190
get => $this->foo . ($this->modified ? ' (modified)' : '');
189191
set => strtolower($value);

language/operators/precedence.xml

Lines changed: 15 additions & 1 deletion
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: 16934048f79c6e117cd16a23c09c1b2ea502e284 Maintainer: mumumu Status: ready -->
3+
<!-- EN-Revision: a7428462fea1c0387cf5e8473b4c48c3c8ac8c2c Maintainer: mumumu Status: ready -->
44
<sect1 xml:id="language.operators.precedence">
55
<title>演算子の優先順位</title>
66
<titleabbrev>演算子の優先順位</titleabbrev>
@@ -149,6 +149,13 @@
149149
<link linkend="language.operators.string">文字列演算子</link> (PHP 8.0.0 以降)
150150
</entry>
151151
</row>
152+
<row>
153+
<entry>left</entry>
154+
<entry><literal>|&gt;</literal></entry>
155+
<entry>
156+
<link linkend="language.operators.functional">パイプ演算子</link>
157+
</entry>
158+
</row>
152159
<row>
153160
<entry>結合しない</entry>
154161
<entry>
@@ -287,6 +294,13 @@
287294
<link linkend="language.operators.logical">論理演算子</link>
288295
</entry>
289296
</row>
297+
<row>
298+
<entry>(n/a)</entry>
299+
<entry><literal>throw</literal></entry>
300+
<entry>
301+
<link linkend="language.exceptions">throw</link>
302+
</entry>
303+
</row>
290304
</tbody>
291305
</tgroup>
292306
</table>

language/predefined/closure.xml

Lines changed: 2 additions & 1 deletion
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: da5ebdf7e0b710ac4f20b53f7c09cf9fa1346d3e Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: d74f3573b3831b2db8f31f774cff32eb8560ba6e Maintainer: takagi Status: ready -->
44
<!-- Credits: mumumu -->
55
<reference xml:id="class.closure" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
66

@@ -85,6 +85,7 @@
8585
&language.predefined.closure.bindto;
8686
&language.predefined.closure.call;
8787
&language.predefined.closure.fromcallable;
88+
&language.predefined.closure.getcurrent;
8889

8990
</reference>
9091
<!-- Keep this comment at the end of the file

language/predefined/generator/rewind.xml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: 873a99f094902ad72129ab391b1fb80525fab30e Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: 5e6944e79f2b19783627d76bd7fd1411feb23c65 Maintainer: takagi Status: ready -->
44
<refentry xml:id="generator.rewind" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
55
<refnamediv>
66
<refname>Generator::rewind</refname>
7-
<refpurpose>イテレータを最初の yield まで巻き戻す</refpurpose>
7+
<refpurpose>最初の yield までジェネレータを実行する</refpurpose>
88
</refnamediv>
99

1010
<refsect1 role="description">
@@ -14,12 +14,11 @@
1414
<void/>
1515
</methodsynopsis>
1616
<para>
17-
このメソッドは ジェネレーターを最初の &yield; の前のポイントまで巻き戻します。
18-
このメソッドがコールされた際に、
19-
ジェネレーターが最初の &yield; 式に達していない場合、
20-
巻き戻す前に最初の &yield; まで進めます。
21-
ジェネレーターが既に二番目の &yield; の始点に達している場合は
22-
<classname>Exception</classname> がスローされます。
17+
<emphasis>最初の</emphasis> &yield; までジェネレーターを実行します。
18+
ジェネレーターが既に <emphasis>最初の</emphasis> &yield; に到達している場合、
19+
何も行いません。
20+
ジェネレーターが &yield; 式を越えて進んでいる場合、
21+
このメソッドは <classname>Exception</classname> をスローします。
2322
</para>
2423

2524
<note>

language/predefined/iterator/rewind.xml

Lines changed: 10 additions & 1 deletion
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: 460f49a93d103cac99556147cb9325b095ca3d42 Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: 7fbb16f538011636999459326a55d5f153ef2c61 Maintainer: takagi Status: ready -->
44
<refentry xml:id="iterator.rewind" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
55
<refnamediv>
66
<refname>Iterator::rewind</refname>
@@ -23,6 +23,15 @@
2323
&foreach; ループの <emphasis>後</emphasis>
2424
には実行 <emphasis>されません</emphasis>。
2525
</para>
26+
<simpara>
27+
&foreach; は反復処理の開始前に必ず <methodname>rewind</methodname> を呼び出すため、
28+
手動でイテレータの位置を進めていた場合(例えば
29+
<methodname>SplFileObject::seek</methodname> を使って移動した場合など)でもリセットされます。
30+
</simpara>
31+
<simpara>
32+
巻き戻しを行わずに反復処理を行うには、
33+
<classname>NoRewindIterator</classname> でラップしてください。
34+
</simpara>
2635
</note>
2736
</refsect1>
2837

language/predefined/variables/server.xml

Lines changed: 4 additions & 4 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: a124543dd3f6b1e5567b07420d23899e582514dc Maintainer: satoruyoshida Status: ready -->
3+
<!-- EN-Revision: 6b413423c754810252b812d2a28fc627be4579dd Maintainer: satoruyoshida Status: ready -->
44
<!-- CREDITS: mumumu -->
55

66
<refentry role="variable" xml:id="reserved.variables.server" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
@@ -171,16 +171,16 @@
171171
<term>'<varname>REQUEST_TIME</varname>'</term>
172172
<listitem>
173173
<simpara>
174-
リクエストの開始時のタイムスタンプ
174+
PHP がリクエストの処理を開始した時のタイムスタンプ
175175
</simpara>
176176
</listitem>
177177
</varlistentry>
178-
178+
179179
<varlistentry>
180180
<term>'<varname>REQUEST_TIME_FLOAT</varname>'</term>
181181
<listitem>
182182
<simpara>
183-
リクエストの開始時のタイムスタンプ (マイクロ秒までの精度)。
183+
PHP がリクエストの処理を開始した時のタイムスタンプ (マイクロ秒までの精度)。
184184
</simpara>
185185
</listitem>
186186
</varlistentry>

0 commit comments

Comments
 (0)