
説明する
1. プライベート メンバー属性はオブジェクトの外部で取得できます。__get() は現在のクラスのプライベート メンバー変数を取得するだけでなく、このメソッド内で他の操作も実行できます。
たとえば、別のクラスをインスタンス化し、別のクラスのオブジェクトを取得します。
2. メンバーのプロパティがプライベートとしてカプセル化されていない場合、オブジェクト自体はこのメソッドを自動的に呼び出しません。
例
<?php
クラスオートフェリックス
{
プライベート $name = 'autofelix';
パブリック関数 __get($name)
{
if(in_array($name, ['名前', '年齢'])) {
$this->name をエコーします。
} それ以外 {
echo 'すべてにアクセスできるわけではありません~';
}
}
}
$a = 新しい autofelix();
$a->名前;
//出力: autofelix上記はメンバー属性を取得するための PHP の __get メソッドです。皆さんの参考になれば幸いです。