1

重複の可能性:
PHP__getおよび__setマジックメソッド

Get / Setメソッドに関する試験の質問がありますが、正確な定義が見つかりません。誰かが私のためにそれを説明/定義するか、この質問に答えてください。

プライベートクラス/オブジェクトプロパティを取得および更新するためにPHPで使用される2つの組み込みの「マジック」メソッドを特定して説明します。

ありがとう。

4

1 に答える 1

4

基本的な考え方は次のとおりです。そのクラスのプロパティとして定義されていないを呼び出すと$foo->bar、 get/setマジックメソッドに送信されます。barこれらのメソッドを実装すると、呼び出された名前と、「set」の場合はどの値が渡されたかを確認できます。その後、あなたはそれであなたがやりたいことを何でもすることができます

例:

public function __set($name, $value)
{
    if ($name === "bar")
    {
        $this->privateProperty = $value;
    }
}

public function __get($name)
{
    if ($name === "bar")
    {
        return $this->privateProperty;
    }
}
于 2012-05-01T23:30:08.060 に答える