初心者: _get() および _set() を介してプライベート フィールドを割り当てたり出力したりできないのはなぜですか?
例:
< ;?php
class Employee {
private $name;
function _get($propName) {
echo "_get Called!
"; // 出力できません。任意の文字列
return $this->$propName;
}
function _set($propName, $propValue) {
$this->$propName = $ propValue ;
}
}
$employee = new Employee();
$employee->name = "マリオ";
echo $employee-> ."
";
?>
なぜこうなったのでしょうか?パラメータを有効にする必要がありますか?
-----解決策---------
function _get($propName) {
echo "_get Called!
"; // 文字列は出力できません
return $this->$propName;
}
赤枠のところは下線が引かれているだけではないでしょうか?
この関数を実装するマジック関数の名前は __get
で、これは 2 つのアンダースコア
です。