公式 PHP ドキュメントの説明を見てみましょう。
__set() は、アクセスできないプロパティにデータを書き込むときに実行されます。
__get() は、アクセスできないプロパティからデータを読み取るために使用されます。 >
中国語に翻訳するにはどうすればよいですか?
アクセス不能: n. 到達するのが困難。
コードと真実があります:
コードをコピー コードは次のとおりです:
< ;?php
error_reporting(E_ALL);
private $a;
public $d = 0; 🎜>//ここで private は protected public に置き換えることができます
private function __get($name) {
return
}
//ここで private は protected public に置き換えることもできます
プライベート関数 __set ($name, $value) {
echo "これは set 関数です";
}
}
$s = new stu(); s->a) ; //出力: 123
var_dump($s->b); //出力: 123
var_dump($s->c); >var_dump($s->d); //出力: 0
var_dump($s->e) //出力: 123
$s->a = 3;これは set 関数
$s->c = 3; //出力なし
$s->f = 3; //これは set 関数
?>
結果分析:
__get メソッドがない場合、var_dump($s->a) var_dump($s->b) を実行すると致命的エラーが発生します。 error
_ _get メソッドがない場合、var_dump($s->e) を実行すると、属性 $e が定義されていないという通知が表示されます