検索

ホームページ  >  に質問  >  本文

コードは正しいはずですが、何が起こっているのでしょうか?

QQ截图20170724161159.jpg22.jpg

比你盖茨比你盖茨2686日前1515

全員に返信(6)返信します

  • 天蓬老师

    天蓬老师2017-07-27 08:21:39

    public function __get($name)
    {
        return $this -> $name; //$name是外部传参,属于变量
    }

    クラスの構文を変更してください。

    また、外部オブジェクトの属性を呼び出すための構文は正しいです。

    定義したマジック メソッド __get() は、クラスに存在しないプロパティを呼び出した場合にのみ有効になります。


    返事
    2
  • nearest

    nearest2017-07-25 11:39:03

    前に追加:

    private $name = "yourname";


    返事
    0
  • phpcn_u11553

    phpcn_u115532017-07-25 01:22:58

    プライベート $name ='';

    返事
    0
  • mr

    mr2017-07-24 21:27:22

    きっと間違っている、定義がない

    返事
    0
  • Ailon

    Ailon2017-07-24 19:08:51

    クラスに $name がありません。$this->name をどうやって使用できますか

    返事
    0
  • 比你盖茨

    この場合、30 個のフィールドのそれぞれで __get __set を 30 回実行する必要がありますか?

    比你盖茨 · 2017-07-25 11:20:04
    Ailon

    $this->name を使用する前に、$xm のように $name を最初に定義する必要があります。 __get と __set は 30 回記述するだけで、存在しないプロパティまたはプライベート プロパティに外部からアクセスするときに自動的に呼び出されます。

    Ailon · 2017-07-25 11:31:52
    Ailon

    $this->name を使用するには、まず $xm のように $name を定義する必要があります。__get と __set は 30 回記述するだけで済み、存在しないプロパティまたはプライベート プロパティに外部からアクセスするときに自動的に呼び出されます。

    Ailon · 2017-07-25 11:32:10
  • Pequeño

    Pequeño2017-07-24 17:11:16

    $this->$name 吧

    返事
    0
  • キャンセル返事