ホームページ > バックエンド開発 > PHPチュートリアル > 初心者: _get() および _set() を介してプライベート フィールドを割り当てたり出力したりできないのはなぜですか?ソリューションのアイデア

初心者: _get() および _set() を介してプライベート フィールドを割り当てたり出力したりできないのはなぜですか?ソリューションのアイデア

WBOY
リリース: 2016-06-13 13:29:04
オリジナル
947 人が閲覧しました

初心者: _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 つのアンダースコア

です。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート