From d948a7a93238f1114cbae0f762c8fb55ad95c222 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AD=A6=E7=94=B0=20=E6=86=B2=E5=A4=AA=E9=83=8E?= Date: Sun, 9 Aug 2026 13:47:39 +0900 Subject: [PATCH] =?UTF-8?q?language/types=E3=83=BBlanguage/oop5=20?= =?UTF-8?q?=E3=82=92=E5=8E=9F=E6=96=87=E3=81=AE=E6=96=87=E6=B3=95=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E3=81=AB=E8=BF=BD=E5=BE=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language/oop5/anonymous.xml | 6 ++--- language/oop5/autoload.xml | 10 ++++----- language/oop5/changelog.xml | 2 +- language/oop5/cloning.xml | 10 ++++----- language/oop5/constants.xml | 8 +++---- language/oop5/decon.xml | 10 ++++----- language/oop5/inheritance.xml | 6 ++--- language/oop5/interfaces.xml | 2 +- language/oop5/iterations.xml | 6 ++--- language/oop5/late-static-bindings.xml | 6 ++--- language/oop5/magic.xml | 8 +++---- language/oop5/object-comparison.xml | 6 ++--- language/oop5/paamayim-nekudotayim.xml | 6 ++--- language/oop5/properties.xml | 8 +++---- language/oop5/property-hooks.xml | 2 +- language/oop5/references.xml | 6 ++--- language/oop5/serialization.xml | 10 ++++----- language/oop5/traits.xml | 6 ++--- language/oop5/variance.xml | 6 ++--- language/types/array.xml | 10 ++++----- language/types/callable.xml | 4 ++-- language/types/declarations.xml | 8 +++---- language/types/float.xml | 26 ++++++++++----------- language/types/integer.xml | 10 ++++----- language/types/iterable.xml | 6 ++--- language/types/mixed.xml | 6 ++--- language/types/never.xml | 6 ++--- language/types/null.xml | 6 ++--- language/types/numeric-strings.xml | 8 +++---- language/types/object.xml | 6 ++--- language/types/relative-class-types.xml | 6 ++--- language/types/resource.xml | 6 ++--- language/types/singleton.xml | 2 +- language/types/string.xml | 30 ++++++++++++------------- language/types/type-juggling.xml | 16 ++++++------- language/types/type-system.xml | 14 ++++++------ language/types/void.xml | 2 +- 37 files changed, 148 insertions(+), 148 deletions(-) diff --git a/language/oop5/anonymous.xml b/language/oop5/anonymous.xml index f7b6a8812e6..7611e3b8e01 100644 --- a/language/oop5/anonymous.xml +++ b/language/oop5/anonymous.xml @@ -1,6 +1,6 @@ - + 無名クラス @@ -155,10 +155,10 @@ if (get_class(anonymous_class()) === get_class(anonymous_class())) { - + 無名クラスには内部的な名前が付けられていることに注意しましょう。これは次の例で確認できます。 ただこれは細部の実装上の話なので、この名前に依存するコードを書いてはいけません。 - + - + @@ -11,19 +11,19 @@ 最大の問題は、各スクリプトの先頭に、必要な読み込みを行う長いリストを 記述する必要があることです(各クラスについて一つ)。 - + spl_autoload_register 関数を使うと、 任意の数のオートローダーを登録でき、 クラスやインターフェイスが定義されていなくても自動的に読み込めるようになります。 オートローダーを登録すれば、PHPがエラーで止まる前にクラスをロードする最後の チャンスが与えられます。 - + クラスに類似した言語構造は、同じやり方でオートロードできます。 これには、クラス、インターフェイス、トレイト、列挙型が含まれます。 - + PHP 8.0.0 より前のバージョンでは、 __autoload 関数でもクラスやインターフェイスのオートロードが可能でした。 しかし、この関数は @@ -31,7 +31,7 @@ そのため、__autoload 関数は PHP 7.2.0 で推奨されなくなり、 PHP 8.0.0 で削除されました。 - + diff --git a/language/oop5/changelog.xml b/language/oop5/changelog.xml index 230336f8fa5..27b0851467c 100644 --- a/language/oop5/changelog.xml +++ b/language/oop5/changelog.xml @@ -1,6 +1,6 @@ - + diff --git a/language/oop5/cloning.xml b/language/oop5/cloning.xml index 8d584e3696a..5dea2ff7531 100644 --- a/language/oop5/cloning.xml +++ b/language/oop5/cloning.xml @@ -1,12 +1,12 @@ - + オブジェクトのクローン作成 - + オブジェクトのコピーを作成する際、そのプロパティも全て二重化することが、 常に望ましい動作であるわけではありません。 コピーコンストラクタが必要となる例として、 @@ -20,7 +20,7 @@ 保持しており、親オブジェクトをコピーする際に、そのコピーが独立したオブジェクトの コピーを有するように、そのオブジェクトのインスタンスを新たに作成したい場合が 考えられます。 - + オブジェクトのコピーは、clone キーワード (これは、そのオブジェクトの @@ -46,12 +46,12 @@ $copy_of_object = clone $object; - + クローンの作成が完了すると、 __clone() メソッドが定義された場合、新規の作成されたオブジェクトの __clone() メソッドがコールされるため、この中で、プロパティに 必要な変更を行うことができます。 - + オブジェクトのクローン作成 diff --git a/language/oop5/constants.xml b/language/oop5/constants.xml index 956e4d6eca8..e26ce385e64 100644 --- a/language/oop5/constants.xml +++ b/language/oop5/constants.xml @@ -1,12 +1,12 @@ - + クラス定数 - - 値が変更できない 定数 をクラス内に定義することができます。 + + 定数 をクラス内に定義することができます。 クラス定数のデフォルトのアクセス範囲は public です。 - + クラス定数は、子クラスで再定義することもできます。 diff --git a/language/oop5/decon.xml b/language/oop5/decon.xml index 3c9a35abc93..48344e617fb 100644 --- a/language/oop5/decon.xml +++ b/language/oop5/decon.xml @@ -1,6 +1,6 @@ - + @@ -170,13 +170,13 @@ class Point { - + PHP のエンジンが曖昧になってしまうため、 オブジェクトのプロパティは、callable 型にすることは出来ません。 そのため、昇格させる引数も callable 型にはできません。 しかし、それ以外の 型宣言 は許されています。 - + @@ -385,7 +385,7 @@ $obj = new MyDestructableClass(); デストラクタが自身のオブジェクトへの新しい参照を作成した場合、参照カウントが再びゼロになったときや シャットダウンシーケンス中に、再度呼び出されることはありません。 - + PHP 8.4.0 以降、 ガベージサイクルの収集 が ファイバーの実行中に発生した場合、 回収がスケジュールされたオブジェクトのデストラクタは、 gc_destructor_fiberと呼ばれる @@ -394,7 +394,7 @@ $obj = new MyDestructableClass(); 中断された gc_destructor_fiber はガベージコレクタによって参照されなくなり、 他の参照がなければ回収される可能性があります。 デストラクタが中断されたオブジェクトは、デストラクタが復帰するかファイバー自体が回収されるまで回収されません。 - + diff --git a/language/oop5/inheritance.xml b/language/oop5/inheritance.xml index ef7920f540d..2a0d916b0fe 100644 --- a/language/oop5/inheritance.xml +++ b/language/oop5/inheritance.xml @@ -1,6 +1,6 @@ - + オブジェクトの継承 @@ -33,7 +33,7 @@ コンストラクタを無効にする方法として private final が用いられるからです。 - + メソッドやプロパティ、そして定数の アクセス権 に関するルールは、子クラスで緩めることが可能です。 @@ -47,7 +47,7 @@ コンストラクタのアクセス権は厳しくすることができます。 たとえば、親クラスの public なコンストラクタは、 子クラスで private としてマークできます。 - + diff --git a/language/oop5/interfaces.xml b/language/oop5/interfaces.xml index c9e4a2dcc51..595e0a479bf 100644 --- a/language/oop5/interfaces.xml +++ b/language/oop5/interfaces.xml @@ -1,6 +1,6 @@ - + diff --git a/language/oop5/iterations.xml b/language/oop5/iterations.xml index 31ef2e23a03..74048ca6a20 100644 --- a/language/oop5/iterations.xml +++ b/language/oop5/iterations.xml @@ -1,17 +1,17 @@ - + オブジェクトの反復処理 - + PHP は、たとえば &foreach; 命令などによる反復処理を可能とするように、 オブジェクトを定義する手段を提供します。 デフォルトで、 全ての アクセス権限がある プロパティは、反復処理に使用することができます。 - + 単純なオブジェクトの反復の例 diff --git a/language/oop5/late-static-bindings.xml b/language/oop5/late-static-bindings.xml index 132cb3b0c58..8ff93e9f79e 100644 --- a/language/oop5/late-static-bindings.xml +++ b/language/oop5/late-static-bindings.xml @@ -1,12 +1,12 @@ - + 遅延静的束縛 (Late Static Bindings) - + PHP には、遅延静的束縛と呼ばれる機能が搭載されています。 これを使用すると、静的継承のコンテキストで呼び出し元のクラスを参照できるようになります。 - + より正確に言うと、遅延静的束縛は直近の "非転送コール" のクラス名を保存します。 diff --git a/language/oop5/magic.xml b/language/oop5/magic.xml index 7d0b6cd5f4c..57a30100d49 100644 --- a/language/oop5/magic.xml +++ b/language/oop5/magic.xml @@ -1,15 +1,15 @@ - + マジックメソッド - + マジックメソッドは、 ある動作がオブジェクトに対して行われた場合に、 PHP のデフォルトの動作を上書きする特別なメソッドです。 - + __ で始まる全てのメソッドは、 @@ -568,7 +568,7 @@ object(A)#2 (2) { エクスポートしたオブジェクトをインポートする際に、 - __set_state() を実装するクラスのものだけをインポートさせるようにするのは、プログラマーの責務となります。 + __set_state を実装するクラスのものだけをインポートさせるようにするのは、プログラマーの責務となります。 diff --git a/language/oop5/object-comparison.xml b/language/oop5/object-comparison.xml index 7b239768ec4..62aeff8e3b7 100644 --- a/language/oop5/object-comparison.xml +++ b/language/oop5/object-comparison.xml @@ -1,6 +1,6 @@ - + オブジェクトの比較 @@ -97,10 +97,10 @@ o1 !== o2 : TRUE - + 拡張モジュール内では、自前で作成したオブジェクトの (== による) 比較方法を独自に定義することができます。 - + diff --git a/language/oop5/paamayim-nekudotayim.xml b/language/oop5/paamayim-nekudotayim.xml index 2ae74f9f1c1..76dd939d49a 100644 --- a/language/oop5/paamayim-nekudotayim.xml +++ b/language/oop5/paamayim-nekudotayim.xml @@ -1,6 +1,6 @@ - + @@ -89,7 +89,7 @@ OtherClass::doubleColon(); - + 拡張されたクラスが親クラスのメソッドの定義をオーバーライドする際、 PHPは親クラスのメソッドをコールしません。 親クラスのメソッドをコールするかしないかは、 @@ -99,7 +99,7 @@ OtherClass::doubleColon(); linkend="language.oop5.overloading">オーバーロード, そして マジック メソッドの定義にも 適用されます。 - + 親クラスのメソッドをコールする diff --git a/language/oop5/properties.xml b/language/oop5/properties.xml index a5bba64b381..43fca66f6be 100644 --- a/language/oop5/properties.xml +++ b/language/oop5/properties.xml @@ -1,6 +1,6 @@ - + @@ -25,10 +25,10 @@ 初期値は 定数 値でなければなりません。 - + クラスのプロパティを宣言する古い方法として、 アクセス権などのキーワードの代わりに var キーワードを使う書き方があります。 - + @@ -174,7 +174,7 @@ class Shape $triangle = new Shape(); $triangle->setName("triangle"); -$triangle->setNumberofSides(3); +$triangle->setNumberOfSides(3); var_dump($triangle->getName()); var_dump($triangle->getNumberOfSides()); diff --git a/language/oop5/property-hooks.xml b/language/oop5/property-hooks.xml index f2cb882ae74..df4fcb6c8a9 100644 --- a/language/oop5/property-hooks.xml +++ b/language/oop5/property-hooks.xml @@ -1,6 +1,6 @@ - + プロパティフック diff --git a/language/oop5/references.xml b/language/oop5/references.xml index f4fd7cd4d6a..8ed5a2f8463 100644 --- a/language/oop5/references.xml +++ b/language/oop5/references.xml @@ -1,14 +1,14 @@ - + オブジェクトと参照 - + PHP でのオブジェクト指向プログラミングのポイントとしてよく言われるのは 「オブジェクトはデフォルトでは参照渡しとなります」ということです。 しかし、正確には少し異なります。 この節では、いくつかの例を用いてその誤解をといていきます。 - + PHP の参照は一種のエイリアスで、ふたつの異なる変数に同じ値を書き込めるものです。 diff --git a/language/oop5/serialization.xml b/language/oop5/serialization.xml index 5488801de94..80ac6c23a98 100644 --- a/language/oop5/serialization.xml +++ b/language/oop5/serialization.xml @@ -1,7 +1,7 @@ - + オブジェクトのシリアライズ - セッション内でのオブジェクト オブジェクトのシリアライズ @@ -16,7 +16,7 @@ クラス名のみが保存されます。 - + オブジェクトを unserialize するには、 そのオブジェクトのクラスが定義されている必要があります。 A クラスのオブジェクトをシリアライズしたのなら、 @@ -25,7 +25,7 @@ まずそのファイル内にクラス A の定義が存在しなければなりません。 これを実現するには、たとえばクラス A の定義を別ファイルに書き出してそれを include したり spl_autoload_register 関数を使ったりします。 - + @@ -65,14 +65,14 @@ - + アプリケーション内でオブジェクトをシリアライズして再利用する場合のお勧めは、 そのクラスの定義をアプリケーション全体で include することです。 クラスの定義が存在しなければオブジェクトの復元に失敗してしまいます。 その場合、PHP は __PHP_Incomplete_Class_Name クラスのオブジェクトを返します。このオブジェクトにはメソッドは一切なく、 使い道がなくなってしまいます。 - + つまり、もし上の例の $a を diff --git a/language/oop5/traits.xml b/language/oop5/traits.xml index c14cb719481..953392bb303 100644 --- a/language/oop5/traits.xml +++ b/language/oop5/traits.xml @@ -1,6 +1,6 @@ - + @@ -209,12 +209,12 @@ Hello World! 衝突の解決 - + この例では、Talker がトレイト A と B を使います。 A と B には同じ名前のメソッドがあるので、 smallTalk はトレイト B を使って bigTalk はトレイト A を使うように定義します。 - + Aliased_Talker は、as 演算子を使って B の bigTalk の実装に diff --git a/language/oop5/variance.xml b/language/oop5/variance.xml index 72bf5f975aa..094c1ab8d9e 100644 --- a/language/oop5/variance.xml +++ b/language/oop5/variance.xml @@ -1,6 +1,6 @@ - + 共変性と反変性 @@ -47,12 +47,12 @@ 共変性 - + 共変性がどのように動作するかを示すために、 単純な抽象クラスの親であるAnimal を作ることにします。 このクラスは子クラス CatDog に継承されています。 - + diff --git a/language/types/array.xml b/language/types/array.xml index 2d892d8a508..fed9bb5b5dd 100644 --- a/language/types/array.xml +++ b/language/types/array.xml @@ -1,6 +1,6 @@ - + 配列 @@ -494,7 +494,7 @@ $arr[] = value; // value の型は、何でもかまいません。 - + $arr がまだ存在しない場合、 あるいは &null; や &false; に設定されている場合は、 新しく配列を作成します。 @@ -506,7 +506,7 @@ $arr[] = value; 文字列アクセス演算子 を表してしまうからです。 変数を初期化するときには、直接代入するほうがよいでしょう。 - + PHP 7.1.0 以降では、文字列に空のインデックス演算子を適用すると @@ -1082,7 +1082,7 @@ $error_descriptions[8] = "This is just an informal notice"; は、array($scalarValue) と全く同じです。 - + objectを配列にする場合には、配列の要素として オブジェクトの属性 (メンバ変数) を持つ配列を得ることになります。 添字はメンバ変数名となりますが、いくつか注意すべき例外があります。 @@ -1092,7 +1092,7 @@ $error_descriptions[8] = "This is just an informal notice"; このとき、頭に追加される値の前後に NUL バイトがついてきます。 未初期化の 型付きプロパティ は黙って捨てられます。 - + 配列への変換 diff --git a/language/types/callable.xml b/language/types/callable.xml index 5086eec1495..7ba5ecd84a7 100644 --- a/language/types/callable.xml +++ b/language/types/callable.xml @@ -1,6 +1,6 @@ - + コールバック / Callable @@ -208,7 +208,7 @@ print implode(' ', $new_numbers); - <function>call_user_function</function> + <function>call_user_func</function> を使って、様々なタイプの callable を呼び出す diff --git a/language/types/declarations.xml b/language/types/declarations.xml index c9af6992c60..83e7f320c39 100644 --- a/language/types/declarations.xml +++ b/language/types/declarations.xml @@ -1,6 +1,6 @@ - + 型宣言 @@ -12,13 +12,13 @@ その型でない場合は、TypeError がスローされます。 - + PHP がサポートしている単一の型それぞれを、 ユーザーが行う型宣言の中で使うことができます。 但し、resource 型を除きます。 このページでは、それぞれの型がいつ利用可能になったかの変更履歴や、 型宣言におけるそれらの使い方について記しています。 - + @@ -226,7 +226,7 @@ function &test(): void {} リファレンス渡しのパラメータに対して宣言される型は、 関数の入り口で だけ チェックされます。 しかし、関数から返される時はチェックされません。 - これは、変数のリファレンスについては、関数が型を変更できるということです。 + これは、リファレンス渡しされた変数の型を関数が変更できるということです。 リファレンス渡しのパラメータに対する型宣言 diff --git a/language/types/float.xml b/language/types/float.xml index eec65a606f5..89c37745dab 100644 --- a/language/types/float.xml +++ b/language/types/float.xml @@ -1,13 +1,13 @@ - + 浮動小数点数 - + 浮動小数点数 (あるいは "float", "double", "実数") は、次の構文により指定できます。 - + @@ -45,15 +45,15 @@ EXPONENT_DNUM (({LNUM} | {DNUM}) [eE][+-]? {LNUM}) 浮動小数点数の精度 - + 浮動小数点数の精度は有限です。 システムに依存しますが、PHP は通常 IEEE 754 倍精度フォーマットを使います。 この形式は、1.11e-16 のオーダーでの丸め処理で誤差が発生します。 複雑な算術演算をすると、誤差はさらに大きくなるでしょう。そしてもちろん、 いくつかの演算を組み合わせる場合にも誤差を考慮しなければなりません。 - + - + さらに、十進数では正確な小数で表せる有理数、たとえば 0.10.7 は、 二進数の浮動小数点数としては正確に表現できません。 @@ -65,14 +65,14 @@ EXPONENT_DNUM (({LNUM} | {DNUM}) [eE][+-]? {LNUM}) 8 を想定していらっしゃるでしょうが、そのようにはなりません。 これは、(この計算結果の) 内部的な値が 7.9999999999999991118... のようになっているからです。 - + - + よって、小数の最後の桁を信用してはいけませんし、 小数を直接比較して等しいかどうかを調べてはいけません。より高い精度が必要な場合には、 任意精度数学関数または gmp 関数を代わりに使用してください。 - + もっと「シンプルな」説明が欲しければ、floating point guide @@ -119,17 +119,17 @@ EXPONENT_DNUM (({LNUM} | {DNUM}) [eE][+-]? {LNUM}) float の比較 - + 先ほど警告したように、浮動小数点数値が等しいかどうかを比較するのには問題があります。 これは、浮動小数点数値の内部表現形式に起因するものです。 しかし、この制限を回避して浮動小数点数値の値を比較する方法もあります。 - + - + 浮動小数点数値が等しいかどうかを調べるには、比較時の丸め誤差の上界を用います。 この値は計算機イプシロンあるいは丸め単位と呼ばれ、 計算時に扱える最小の差分を表します。 - + $a$b は、精度 5 桁では等しくなります。 diff --git a/language/types/integer.xml b/language/types/integer.xml index 71af9bec2a8..689b422666d 100644 --- a/language/types/integer.xml +++ b/language/types/integer.xml @@ -1,6 +1,6 @@ - + 整数 @@ -30,7 +30,7 @@ 負の int を表すには、負にする演算子が使えます。 - + 8 進数表記を使用する場合、数の前に 0 (ゼロ) を付ける必要があります。 PHP 8.1.0 以降では、数の前に @@ -39,7 +39,7 @@ また、16 進数表記を使用するには、数の前に 0x を付ける必要があります。 2 進数表記を使用する場合、数の前に 0b を付ける必要があります。 - + PHP 7.4.0 以降では、可読性を向上させるために整数リテラルの桁の間にアンダースコア @@ -129,14 +129,14 @@ var_dump(PHP_INT_MAX + 1); // 32-bit system: float(2147483648) 整数の除算 - + PHP には整数の割り算を行う演算子はありません。 整数の割り算を行うには、intdiv 関数を使って下さい。 1/2 float 型の 0.5 になります。 0 に近い方向の整数値に値を丸めるためにキャストを使用することができ、 また、round 関数を使用することもできます。 - + 除算の例 diff --git a/language/types/iterable.xml b/language/types/iterable.xml index 6a12843f38e..5ad8cef4f2e 100644 --- a/language/types/iterable.xml +++ b/language/types/iterable.xml @@ -1,10 +1,10 @@ - + Iterable - + Iterable は組み込みの、コンパイル時に変換される array|Traversable 型のエイリアスです。 - + Mixed @@ -19,10 +19,10 @@ この型は、PHP 8.0.0 以降で利用可能です。 - + mixed 型は、型理論の用語で言うと、トップ型にあたります。 つまり、他の全ての型は、この型の部分型になります - + - + Never @@ -13,12 +13,12 @@ よって、この型は union 型 の一部として指定することが出来ません。 PHP 8.1.0 以降で利用できます。 - + never は、 型理論の用語で言うと、ボトム型にあたります。 つまり、全ての他の型の部分型であり、 継承する際に他の戻り値の型を置き換えることができます。 - + - + NULL @@ -9,10 +9,10 @@ つまり、単一の値 &null; しか持ちません。 - + 未定義、そして unset された値は、値 &null; に解決されます。 - + 文法 diff --git a/language/types/numeric-strings.xml b/language/types/numeric-strings.xml index 8eaba2d7800..365b48a51e0 100644 --- a/language/types/numeric-strings.xml +++ b/language/types/numeric-strings.xml @@ -1,6 +1,6 @@ - + 数値形式の文字列 @@ -96,14 +96,14 @@ var_dump("2E1" == "020"); // true, "2E1" は 2 * (10 ^ 1), または 20 PHP 8.0.0 より前の振る舞い - + PHP 8.0.0 より前のバージョンでは、 - 先頭に ホワイトスペースがある場合にだけ、 + 先頭 にしかホワイトスペースがない場合、 文字列は数値と見なされていました。 数値の後に ホワイトスペースがある場合は、 その文字列は 先頭から始まる 数値形式の文字列とみなされていました。 - + PHP 8.0.0 より前のバージョンでは、 diff --git a/language/types/object.xml b/language/types/object.xml index 836f0cb97ea..fab11cd822b 100644 --- a/language/types/object.xml +++ b/language/types/object.xml @@ -1,6 +1,6 @@ - + オブジェクト @@ -44,14 +44,14 @@ $bar->do_foo(); オブジェクトへの変換 - + オブジェクトがオブジェクトに変換される場合はなにも修正されません。 オブジェクト以外の型の値がオブジェクトに変換される時には、stdClass というビルトインクラス(予めPHPの内部で定義されているクラス)のインスタンスが新しく生成されます。 その際、値が null の場合は新しいインスタンスは空となります。 また、配列がオブジェクトに変換される場合、配列のキーと値がそれぞれオブジェクトのプロパティ名とその値となります。 PHP 7.2.0 より前のバージョンでは、数値のキーの場合プロパティ名によるアクセスはできなかった点に注意して下さい。 - + オブジェクトにキャストする diff --git a/language/types/relative-class-types.xml b/language/types/relative-class-types.xml index c4ef66d4cb1..df791403100 100644 --- a/language/types/relative-class-types.xml +++ b/language/types/relative-class-types.xml @@ -1,12 +1,12 @@ - + クラス内での関係を示す相対型 - + 以下の型宣言は、クラスの内部でのみ使えます。 - + <type>self</type> diff --git a/language/types/resource.xml b/language/types/resource.xml index 8657e679d2c..368a1bdd8ae 100644 --- a/language/types/resource.xml +++ b/language/types/resource.xml @@ -1,6 +1,6 @@ - + リソース @@ -29,13 +29,13 @@ リソースの開放 - + Zend エンジンの一部であるリファレンスカウンティングシステムのおかげで、 ある &resource; がもう参照されなくなった場合に (Java と全く同様に)、 そのリソースは自動的に削除されます。この場合、このリソースが作成した 全てのリソースは、ガベージコレクタにより開放されます。 このため、free_result 関数を用いて手動でメモリを開放する必要が生じるのはまれです。 - + diff --git a/language/types/singleton.xml b/language/types/singleton.xml index d417dfb0b93..d8e71f7d7d8 100644 --- a/language/types/singleton.xml +++ b/language/types/singleton.xml @@ -1,6 +1,6 @@ - + シングルトン型 diff --git a/language/types/string.xml b/language/types/string.xml index c6f3c6671f0..fc45a2e30a5 100644 --- a/language/types/string.xml +++ b/language/types/string.xml @@ -1,6 +1,6 @@ - + 文字列 @@ -264,7 +264,7 @@ c 終端ID が、文字列のいずれかの行より奥にインデントされている場合、 - ParseError がスローされます。 + ParseError がスローされます。 @@ -294,7 +294,7 @@ Parse error: Invalid body indentation level (expecting an indentation level of a インデントする際にタブとスペースを混ぜては いけません。 混ぜた場合、 - ParseError がスローされます。 + ParseError がスローされます。 インデントに使う文字に制限があるのは、 タブとスペースを混ぜてしまうと可読性が損なわれるためです。 @@ -373,11 +373,11 @@ array(2) { 終端ID が行のはじめに見つかった場合、 それが別の単語の一部かどうかにかかわらず、 それが終端IDと見なされ、 - ParseError が起きる可能性があります。 + ParseError が起きます。 - 文字列本体に 終端ID が含まれると、ParseError が起きがち + 文字列本体に 終端ID が含まれると、<exceptionname>ParseError</exceptionname> が起きがち Nowdoc - + Nowdoc はヒアドキュメントと似ていますが、 ヒアドキュメントがダブルクォートで囲んだ文字列として扱われるのに対して、 Nowdoc はシングルクォートで囲んだ文字列として扱われます。 @@ -604,7 +604,7 @@ FOOBAR; <![CDATA[ ]]> (ブロック内のテキストをパースしないことを宣言する) と同じようなものです。 - + Nowdoc の書き方は、ヒアドキュメントと同じように @@ -1226,12 +1226,12 @@ string(1) "b" これにより boolean と文字列の値を相互に変換することができます。 - + int (整数) や浮動小数点数 (float) は その数値の数字として文字列に変換されます (指数の表記や浮動小数点数を含めて)。 浮動小数点数は、指数表記 (4.1E+6) を使用して変換されます。 - + @@ -1291,21 +1291,21 @@ string(1) "b" 文字列型の詳細 - + PHP における文字列型は、バイトの配列と整数値 (バッファ長) で実装されています。 バイト列を文字列に変換する方法については何の情報も持っておらず、完全にプログラマ任せとなっています。 文字列を構成する値には何の制限もありません。特に気をつけるべきなのは、 値 0 のバイト (いわゆる “NUL バイト”) を文字列内のどの部分にでも使えるという点です (しかし、このマニュアル上で「バイナリセーフではない」とされている一部の関数では、 受け取った文字列をライブラリに渡すときに NUL バイト以降を無視することがあります)。 - + PHP の文字列型の正体を知ってしまえば、なぜ PHP には「バイト型」が存在しないのかもわかります。 つまり、文字列型がその役割を受け持っているのです。テキスト以外のデータ、 たとえばネットワークソケットから読み込んだ任意のデータを返す関数も、 文字列で値を返します。 - + PHP が文字列に対して特定のエンコーディングを強制しないのなら、 いったいどのようにして文字列リテラルをエンコードしているのでしょう? たとえば、文字列 "á" と同等なのは "\xE1" (ISO-8859-1)、 @@ -1327,7 +1327,7 @@ string(1) "b" しかし、状態に依存する (たとえば、同じバイト値が、先頭にあるときとシフト状態にあるときで違う意味になる) エンコーディングは、問題になる可能性があります。 - + もちろん、利便性を考慮すれば、テキストを操作する関数が文字列のエンコードを扱う際に 何らかの前提に基づかざるを得ないこともあります。 @@ -1347,8 +1347,8 @@ string(1) "b" - 文字列のエンコーディングを受け取る関数もあります。 - エンコーディング情報を省略したときにはデフォルトを用意していることもあるでしょう。 + 文字列のエンコーディングをパラメータとして受け取るか、 + 指定されなかった場合はデフォルトを仮定する関数もあります。 このタイプの関数の例は、htmlentities や 大半の mbstring 関数です。 diff --git a/language/types/type-juggling.xml b/language/types/type-juggling.xml index 8d19c43cb23..45ced8f6c70 100644 --- a/language/types/type-juggling.xml +++ b/language/types/type-juggling.xml @@ -1,6 +1,6 @@ - + 型の相互変換 @@ -71,7 +71,7 @@ そうでない場合、オペランドは整数として解釈され、 結果の型も整数になります。 PHP 8.0.0 以降では、いずれかのオペランドが解釈できない場合、 - TypeError がスローされます。 + TypeError がスローされます。 @@ -90,7 +90,7 @@ 値は文字列として解釈されます。 文字列として解釈できない場合、 - TypeError がスローされます。 + TypeError がスローされます。 PHP 7.4.0 より前のバージョンでは、 E_RECOVERABLE_ERROR が発生していました。 @@ -128,7 +128,7 @@ オペランドは整数として解釈され、 結果の型も整数になります。 PHP 8.0.0 以降では、いずれかのオペランドが解釈できない場合、 - TypeError がスローされます。 + TypeError がスローされます。 @@ -156,7 +156,7 @@ 戻り値の型を宣言している関数から値が返される場合です。 - + このコンテクストでは、値はその型の値でなければなりません。 これにはふたつ例外があります。 ひとつめは値の型が int で、 @@ -168,7 +168,7 @@ かつ型の自動変換モードが有効な場合(デフォルト)、 スカラー型の値が別の変換可能なスカラー型に変換される可能性があることです。 この振る舞いに関する詳細は、以下を参照ください: - + @@ -251,13 +251,13 @@ - + 上のリストに入っていない型については、 暗黙の型変換が行われる対象ではありません。 特に、暗黙のうちに null, false, true に変換されることはありません。 - + diff --git a/language/types/type-system.xml b/language/types/type-system.xml index 587c1083767..b558f83b25b 100644 --- a/language/types/type-system.xml +++ b/language/types/type-system.xml @@ -1,6 +1,6 @@ - + 型システム @@ -20,10 +20,10 @@ 基本型 - + 基本型の一部は言語に強く統合されている組み込み型であり、 ユーザー定義の型として再現できません。 - + 基本型の一覧は以下になります: @@ -163,13 +163,13 @@ 交差型 - + 交差型 は、宣言した複数のクラス型を(単一ではなく) すべて満たす値を受け入れることができます。 交差型を構成する個別の型は、& 記号で結合します。 よって、型 T, U, V の交差型は T&U&V と書きます。 - + @@ -190,14 +190,14 @@ 型のエイリアス - + PHP は型のエイリアスをふたつサポートしています。 mixediterable です。 それぞれ、 union 型 object|resource|array|string|float|int|bool|null と、Traversable|array に対応します。 - + diff --git a/language/types/void.xml b/language/types/void.xml index ec7f0177a91..9909658cff2 100644 --- a/language/types/void.xml +++ b/language/types/void.xml @@ -1,6 +1,6 @@ - + Void