348 of 410 menu

メソッド __get

メソッド __get は、オブジェクトの存在しない、またはアクセス不可能なプロパティの値を取得しようとしたときに自動的に呼び出されます。このマジックメソッドは1つのパラメータ、すなわち要求されたプロパティの名前を受け取ります。

構文

public function __get(string $name) { // 実装 }

存在しないプロパティに対しても値を返す __get メソッドを持つクラスを作成します:

<?php class User { private $data = [ 'name' => 'John', 'age' => 30 ]; public function __get($name) { if (array_key_exists($name, $this->data)) { return $this->data[$name]; } return null; } } $user = new User(); echo $user->name; ?>

コードの実行結果:

'John'

__get メソッドは、動的プロパティを実装するために使用できます:

<?php class DynamicProperties { public function __get($name) { return "Dynamic value for {$name}"; } } $obj = new DynamicProperties(); echo $obj->test; ?>

コードの実行結果:

'Dynamic value for test'

関連項目

  • メソッド __set,
    存在しないプロパティに値を設定する際に呼び出されます
  • メソッド __call,
    存在しないメソッドを呼び出そうとした際に呼び出されます
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否