Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions language/predefined/argumentcounterror.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 14767af0f05dffa6fdb9b49e1a1f4e9ca7022a60 Maintainer: iwamot Status: ready -->
<!-- EN-Revision: 603435cd84951fc720eded819c62ef2466d21b5c Maintainer: iwamot Status: ready -->
<!-- Reviewed: no -->
<reference xml:id="class.argumentcounterror" role="exception" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>ArgumentCountError</title>
Expand All @@ -14,9 +14,9 @@
<ooclass><classname>ArgumentCountError</classname></ooclass> は、
ユーザー定義の関数あるいはメソッドに渡された引数が少なすぎる場合にスローされます。
</para>
<para>
<simpara>
可変長引数でない組み込み関数に、多過ぎる引数を渡した場合にもスローされます。
</para>
</simpara>
</section>

<section xml:id="argumentcounterror.synopsis">
Expand Down
6 changes: 3 additions & 3 deletions language/predefined/backedenum.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 9eb4a46bba05da229be4c8f7a3cb64702e1a2f95 Maintainer: mumumu Status: ready -->
<!-- EN-Revision: 603435cd84951fc720eded819c62ef2466d21b5c Maintainer: mumumu Status: ready -->
<reference xml:id="class.backedenum" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>BackedEnum インターフェイス</title>
<titleabbrev>BackedEnum</titleabbrev>
Expand All @@ -9,14 +9,14 @@

<section xml:id="backedenum.intro">
&reftitle.intro;
<para>
<simpara>
<classname>BackedEnum</classname> インターフェイスは、
Backed Enum を定義すると、PHP のエンジンが自動的に適用します。
ユーザー定義のクラスとして実装してはいけません。
列挙型はメソッドのオーバーライドを禁止しています。
デフォルトの実装は PHP のエンジンから提供されるからです。
このインターフェイスは、型チェックのためだけに存在しています。
</para>
</simpara>
</section>

<section xml:id="backedenum.synopsis">
Expand Down
2 changes: 1 addition & 1 deletion language/predefined/backedenum/from.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
文字列型や整数型の値を、存在する場合に
列挙型の case に変換します。
マッチする case が定義されていない場合は、
<classname>ValueError</classname>
<exceptionname>ValueError</exceptionname>
がスローされます。
</para>

Expand Down
14 changes: 7 additions & 7 deletions language/predefined/closure.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: a97672ab04d97f510faee2abe8d961014f77f96d Maintainer: takagi Status: ready -->
<!-- EN-Revision: 603435cd84951fc720eded819c62ef2466d21b5c Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->
<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">

Expand All @@ -11,23 +11,23 @@

<section xml:id="closure.intro">
&reftitle.intro;
<para>
<simpara>
<link linkend="functions.anonymous">無名関数</link> を表すために使うクラスです。
</para>
</simpara>

<para>
<simpara>
無名関数は、Closure 型のオブジェクトを生成します。
このクラスにはメソッドが用意され、
生成した無名関数をさらにコントロールできるようになっています。
</para>
</simpara>

<para>
<simpara>
ここであげたメソッド以外にも、このクラスには
<literal>__invoke</literal> メソッドが存在します。
これは、<link linkend="language.oop5.magic.invoke">マジックメソッド __invoke()</link>
を実装した他のクラスとの一貫性を保つためのものであり、
関数をコールするときにこのメソッドは使われません。
</para>
</simpara>

</section>

Expand Down
34 changes: 17 additions & 17 deletions language/predefined/closure/bindto.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 80720e59fc88b2522fe2e119b0148caaaa214b0b Maintainer: takagi Status: ready -->
<!-- EN-Revision: c62ef37e0d58067b393a6cf3a14aefed90bc0bff Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->

<refentry xml:id="closure.bindto" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
Expand All @@ -18,39 +18,39 @@
<methodparam><type class="union"><type>object</type><type>null</type></type><parameter>newThis</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>object</type><type>string</type><type>null</type></type><parameter>newScope</parameter><initializer>"static"</initializer></methodparam>
</methodsynopsis>
<para>
<simpara>
自身と同じ本体とバインド変数を持つ新しい <link linkend="functions.anonymous">無名関数</link>
を作って返します。しかし、バインドするオブジェクトは変わって新しいクラスのスコープとなります。
</para>
</simpara>

<para>
<simpara>
“バインドするオブジェクト” によって、<literal>$this</literal>
が関数本体で持つ値が決まり、“クラスのスコープ”
は、無名関数からどのクラスの private メンバーや protected メンバーにアクセスできるのかが決まります。
すなわち、無名関数から見えるメンバーは、
その無名関数が <parameter>newScope</parameter>
クラスのメソッドであった場合と同じものになります。
</para>
</simpara>

<para>
<simpara>
static なクロージャは何もオブジェクトをバインドできません
(<parameter>newThis</parameter> の値は &null; でなければなりません) が、
それでもこのメソッドを使ってクラスのスコープを変えることができます。
</para>
</simpara>

<para>
<simpara>
このメソッドが static でないクロージャに関して保証するのは、
バインドされたインスタンスを持っていればスコープ内にあるということです。
また、その逆も成り立ちます。そのため、static でないクロージャにスコープとして
&null; インスタンスを渡すとそれはstaticとなり、staticでなくスコープにもないクロージャに
&null; でないインスタンスを渡すと、特定されていない何らかのクラスのスコープに入ります。
</para>
</simpara>

<note>
<para>
<simpara>
単に無名関数を複製したいだけの場合は、
<link linkend="language.oop5.cloning">cloning</link> を使うこともできます。
</para>
</simpara>
</note>

</refsect1>
Expand All @@ -61,33 +61,33 @@
<varlistentry>
<term><parameter>newThis</parameter></term>
<listitem>
<para>
<simpara>
指定した無名関数をバインドするオブジェクト。クロージャのバインドを解除するには
&null; を指定します。
</para>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>newScope</parameter></term>
<listitem>
<para>
<simpara>
クロージャを関連づけるクラススコープ、あるいは 'static' で現在のスコープを維持します。
オブジェクトを渡した場合は、そのオブジェクトの型をその代わりに使います。
これは、バインドしたオブジェクトの protected メソッドや private
メソッドのアクセス権を決めます。
内部クラス (のオブジェクト) を をパラメータとして渡すことはできません。
</para>
</simpara>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<simpara>
新しい <classname>Closure</classname> オブジェクトを返します。
失敗した場合に &null; を返します。
</para>
</simpara>
</refsect1>

<refsect1 role="examples">
Expand Down
6 changes: 3 additions & 3 deletions language/predefined/closure/construct.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 9c74079f12d67cabb52c124d761f48275417d7eb Maintainer: takagi Status: ready -->
<!-- EN-Revision: c62ef37e0d58067b393a6cf3a14aefed90bc0bff Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->

<refentry xml:id="closure.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
Expand All @@ -15,12 +15,12 @@
<modifier>private</modifier> <methodname>Closure::__construct</methodname>
<void/>
</constructorsynopsis>
<para>
<simpara>
このメソッドは、
<classname>Closure</classname> クラスのインスタンスを作れないようにするために存在します。
このクラスのオブジェクトを作るには、
<link linkend="functions.anonymous">無名関数</link> のページに書かれている手順を使います。
</para>
</simpara>

</refsect1>

Expand Down
6 changes: 3 additions & 3 deletions language/predefined/closure/fromcallable.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
現在のスコープを用いて、指定された <parameter>callback</parameter> から新しい
<link linkend="functions.anonymous">無名関数</link> を作って返します。
このメソッドは、現在のスコープで <parameter>callback</parameter>
が呼び出し可能かどうかをチェックし、可能でなければ <classname>TypeError
</classname> をスローします。
が呼び出し可能かどうかをチェックし、可能でなければ <exceptionname>TypeError
</exceptionname> をスローします。
</para>
<note>
<para>
Expand Down Expand Up @@ -48,7 +48,7 @@
<para>
新しく作られた <classname>Closure</classname> を返します。
<parameter>callback</parameter> が現在のスコープで呼び出し可能でなければ、
<classname>TypeError</classname> をスローします。
<exceptionname>TypeError</exceptionname> をスローします。
</para>
</refsect1>

Expand Down
24 changes: 12 additions & 12 deletions language/predefined/closure/getcurrent.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 31e56c25f90ebedf9aa4aa4877fbc859e1e0529c Maintainer: mumumu Status: ready -->
<!-- EN-Revision: c62ef37e0d58067b393a6cf3a14aefed90bc0bff Maintainer: mumumu Status: ready -->
<refentry xml:id="closure.getcurrent" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>Closure::getCurrent</refname>
Expand All @@ -13,16 +13,16 @@
<modifier>public</modifier> <modifier>static</modifier> <type>Closure</type><methodname>Closure::getCurrent</methodname>
<void/>
</methodsynopsis>
<para>
<simpara>
現在実行中のクロージャを返します。このメソッドは主に、
<literal>use</literal> キーワードを使ってクロージャ変数への参照をキャプチャすることなく、
再帰的なクロージャを実装するのに役立ちます。
</para>
<para>
</simpara>
<simpara>
このメソッドはクロージャの内部から呼び出す必要があります。
クロージャのコンテキスト外から呼び出すと、
<literal>Error: Current function is not a closure.</literal> が発生します。
</para>
</simpara>
</refsect1>

<refsect1 role="parameters">
Expand All @@ -32,17 +32,17 @@

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<simpara>
現在実行中の <classname>Closure</classname> を返します。
</para>
</simpara>
</refsect1>

<refsect1 role="errors">
&reftitle.errors;
<para>
<simpara>
クロージャのコンテキスト外から呼び出された場合、
<classname>Error</classname> をスローします。
</para>
<exceptionname>Error</exceptionname> をスローします。
</simpara>
</refsect1>

<refsect1 role="examples">
Expand Down Expand Up @@ -72,10 +72,10 @@ echo $fibonacci(10); // 出力: 55
</example>
<example xml:id="closure.getcurrent.example.comparison">
<title>従来のアプローチとの比較</title>
<para>
<simpara>
PHP 8.5 より前のバージョンでは、再帰的なクロージャを実装するには
<literal>use</literal> キーワードを使ってクロージャ変数への参照をキャプチャする必要がありました:
</para>
</simpara>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
6 changes: 3 additions & 3 deletions language/predefined/countable.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 267a3d4e60d8a6da941e72d195386b5841052cca Maintainer: mumumu Status: ready -->
<!-- EN-Revision: 603435cd84951fc720eded819c62ef2466d21b5c Maintainer: mumumu Status: ready -->
<reference xml:id="class.countable" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">

<title>Countable インターフェイス</title>
Expand All @@ -10,10 +10,10 @@

<section xml:id="countable.intro">
&reftitle.intro;
<para>
<simpara>
<classname>Countable</classname> を実装したクラスは、
<function>count</function> 関数で使用することができます。
</para>
</simpara>
</section>

<section xml:id="countable.synopsis">
Expand Down
8 changes: 4 additions & 4 deletions language/predefined/fiber.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4b06b2d5c3a28a13504972df0f0be6deffabb4c5 Maintainer: mumumu Status: ready -->
<!-- EN-Revision: 603435cd84951fc720eded819c62ef2466d21b5c Maintainer: mumumu Status: ready -->
<reference xml:id="class.fiber" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
annotations="non-interactive">
<title>Fiber クラス</title>
Expand All @@ -10,11 +10,11 @@

<section xml:id="fiber.intro">
&reftitle.intro;
<para>
<simpara>
ファイバー(Fiber) は 完全なスタックを持つ、停止可能な関数です。
ファイバー はコールスタック中のどこからでも停止することができますし、
後に再開されるまで実行を停止したままにできます。
</para>
</simpara>
</section>

<section xml:id="fiber.synopsis">
Expand All @@ -35,7 +35,7 @@

<section xml:id="fiber.seealso">
&reftitle.seealso;
<para><link linkend="language.fibers">ファイバーの概要</link></para>
<simpara><link linkend="language.fibers">ファイバーの概要</link></simpara>
</section>

</partintro>
Expand Down
10 changes: 5 additions & 5 deletions language/predefined/fiber/getcurrent.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 8fee3ae9715ffa15922469eb7d98f4878917a6ee Maintainer: mumumu Status: ready -->
<!-- EN-Revision: c62ef37e0d58067b393a6cf3a14aefed90bc0bff Maintainer: mumumu Status: ready -->
<refentry xml:id="fiber.getcurrent" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>Fiber::getCurrent</refname>
Expand All @@ -13,8 +13,8 @@
<modifier>public</modifier> <modifier>static</modifier> <type class="union"><type>Fiber</type><type>null</type></type><methodname>Fiber::getCurrent</methodname>
<void/>
</methodsynopsis>
<para>
</para>
<simpara>
</simpara>
</refsect1>

<refsect1 role="parameters">
Expand All @@ -24,10 +24,10 @@

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<simpara>
現在実行中の <classname>Fiber</classname> のインスタンスを返します。
このメソッドがファイバーの外から実行された場合は &null; を返します。
</para>
</simpara>
</refsect1>

</refentry>
Expand Down
2 changes: 1 addition & 1 deletion language/predefined/fiber/getreturn.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
ファイバーが値を返さなかった場合、
ファイバーそのものが開始されていないか、
終了していないか、例外をスローしている場合で、
それらの場合は <classname>FiberError</classname> がスローされます。
それらの場合は <exceptionname>FiberError</exceptionname> がスローされます。
</para>
</refsect1>

Expand Down
Loading
Loading