diff --git a/language/oop5/property-hooks.xml b/language/oop5/property-hooks.xml index 6ebae328db..691a1fd99c 100644 --- a/language/oop5/property-hooks.xml +++ b/language/oop5/property-hooks.xml @@ -1,6 +1,6 @@ - + プロパティフック @@ -44,7 +44,15 @@ アクセス自体の制限も行いたい場合、 非対称可視性プロパティ を使ってください。 - + + + バージョン情報 + + プロパティフックは PHP 8.4 で導入されました。 + + + + 基本的なフック構文 フックを宣言する一般的な構文は次のとおりです。 @@ -213,6 +221,7 @@ class Example get、set いずれのフックも プロパティ自体を正確に参照していない場合、それは仮想プロパティになります。 - 例えば、$foo という名前のプロパティのフックに $this->foo というコード含まれれば、それはバックドプロパティです。 + 例えば、$foo という名前のプロパティのフックに $this->foo というコードが含まれれば、それはバックドプロパティです。 次のプロパティはバックドプロパティではなく、エラーが発生します: @@ -306,7 +316,7 @@ class Example - 上記の例をより効率的に書くと、以下のようになります。 + 上記の例は以下のように書き換えることができます。このようにすると、 + 将来 Point クラスに独自の set + フックを追加しても問題になりません(前述の例では、 + 親クラスに追加されたフックが子クラスで無視されてしまいます)。 親フックへのアクセス (set) @@ -519,7 +532,7 @@ class PositivePoint extends Point if ($value < 0) { throw new \InvalidArgumentException('Too small'); } - $this->x = $value; + parent::$x::set($value); } } }