__get() - アクセスできないプロパティの値を読み取るときに __get() が呼び出されます。
__set() - __set()は、アクセスできないプロパティに値を割り当てるときに呼び出されます。
/**
* __get() __set() を明確に理解する
*/
クラスの例 {
//パブリック属性
パブリック $public = 'パブ' ;
//保護 - この属性はサブクラスで使用できます
protected $protected = 'プロ';
//プライベート - この属性はこのクラスでのみ使用できます
プライベート $private = 'プリ';
//アクセスオブジェクト内の属性が存在しないか、パブリック属性ではない場合、__get() メソッドを自動的にロードします
パブリック関数 __get($name){
return '__get() メソッドを呼び出す:'.$name;
}
//オブジェクトの属性に値を割り当てるときに、その属性が存在しないか、非パブリック属性の場合、__set() メソッドが自動的にロードされます
パブリック関数 __set($name,$value){
echo "nname:".$name.',value:'.$value."n";
}
}
$example = 新しい例;
echo '
';
echo $example->public."n";
echo $example->protected."n";
echo $example->private."n";
echo $example->other."n";
echo '
';
$example->public = 'lic' //この割り当ては成功したので表示されません
$example->protected = 'tec';
$example->private = 'vat';
$example->other = 'er';
echo '
';
echo 'パブリック プロパティを印刷:'.$example->public;
結果は以下の通りです:
名前: 保護、値: tec
名前:プライベート、値:vat
名前:その他、値:er
パブリック属性を印刷: lic