搜索

首页  >  问答  >  正文

代码应该没错吧,什么情况呢?

QQ截图20170724161159.jpg22.jpg

比你盖茨比你盖茨2688 天前1523

全部回复(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

    你的class里面没有$name, 怎么可以使用$this->name呢

    回复
    0
  • 比你盖茨

    如果这样,那30个字段,也要分别 __get __set 30次?

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

    你必须在前面像 $xm 一样,需要先定义$name, 然后才能使用$this->name; __get和__set只需要写一个不用30次, 当你外部访问不存在或私有属性时会自动调用

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

    你必须在前面像 $xm 一样,需要先定义$name, 然后才能使用$this->name; __get和__set只需要写一个不用30次, 当你外部访问不存在或私有属性时会自动调用

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

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

        $这个->$名字吧

    回复
    0
  • 取消回复