⊗ppOpMgGNE 90 of 107 menu

PHPのOOPにおける存在しないプロパティの読み取り

前のレッスンで示した例では、非公開プロパティへのアクセスを捕捉するために、 マジックメソッド__getを適用しました。実際には、このメソッドは 存在しないプロパティへのアクセスを捕捉するのにも役立ちます。

実践的な例を見てみましょう。 Userクラスがあり、姓と名が公開プロパティであるとします:

<?php class User { public $surn; public $name; } ?>

このクラスオブジェクトが、ユーザーの姓と名を出力する fullプロパティも持っているかのように振る舞うようにしてみましょう。 これには、先ほどのマジックメソッド__getを使用します:

<?php class User { public $surname; public $name; public $patronymic; public function __get($property) { if ($property == 'full') { return $this->surn . ' ' . $this->name; } } } ?>

テストしてみましょう:

<?php $user = new User; $user->surn = 'john'; $user->name = 'smit'; echo $user->full; // 'john smit'と出力されます ?>

公開プロパティyearmonthdayを持つ Dateクラスを作成してください。 マジックメソッドを使用して、その日付に対応する曜日を返す weekDayプロパティを作成してください。

日本語
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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否