Fecshop 2016-07-11 09:04:48 5365次浏览 9条评论 0 1 0

今天测试了一下,确实误人子弟了,去年测试的,我记得是这个结果,还整理出来了,去年的php环境找不到了,不知道是我老了,记性不好,还是php环境的配置问题,代码抹了。

对不住了。

多谢几位提意见。

觉得很赞
  • 评论于 2016-07-11 10:05 举报

    ..感觉误人子弟。才不是什么优先级问题,__get魔术方法本来就是获取不存在的属性(包括proteced private都属于不存在)时候才会调用,你都public $age了,当然不会调用__get方法

    3 条回复
    评论于 2016-07-11 10:21 回复

    __get 魔术方法就是获取不存在的属性(包括proteced private都属于不存在)?
    回答:首先__
    a).get 魔术方法是获取不存在的成员变量,而不是属性。对于什么是成员变量,什么是属性,您自己查看资料.
    b) .proteced private 都属于不存在,你说的是访问权限,对外部访问不存在,但是在对象内部访问呢?如果我在对象的一个方法中访问,是否不存在,我所说的是优先级的问题,你说的是权限问题,对于你说的 (感觉误人子弟。才不是什么优先级问题),我想问的是,他们是否有优先级?

    评论于 2016-07-11 10:27 回复

    成员变量,也就是在类中定义的变量,如果成员变量找不到,就会通过魔术方法去找成员变量,
    如果还是找不到,就会查找属性(这里的属性,确切的说是,不是成员变量的属性,也就是get set方法的属性),这是一个优先级的问题。
    不是很明白 yidashi表述的重点是什么,你表述的观点是:没有优先级问题?
    一个比较实用的就是:对于一个属性,我定义了get方法,但是我通过属性的方式访问为什么没有执行,这是因为get方法,是没有魔术方法的优先级高,执行了魔术方法。

    评论于 2016-07-11 10:28 回复

    对于有没有误人子弟,可以自己试试,实践得真知,哪里不对的,贴出来运行结果,在讨论。

  • 评论于 2016-07-11 10:43 举报

    补充一下:成员变量,也就是在类中定义的变量,属于类的属性,

    对于get,set方法,也就是类的属性。

    但是属性不一定是成员变量,也就是说get set方法定义的属性,不是成员变量。

  • 评论于 2016-07-11 10:56 举报

    哦。。。。。。

  • 评论于 2016-07-11 11:12 举报
     public function  setScore($score){  
            $this->age = 22;   
        }  
    

    这个是什么意思。set..的用法是什么

    1 条回复
    评论于 2016-07-11 11:30 回复

    我故意这样写的,当我执行$ob->score = 55,其实并没有赋值,而是把成员变量age的值改了,我想说明的是,有一些代码看到的是一个属性的赋值,其实,可能并不仅仅是赋值,可能压根就没有赋值。

    虽然在逻辑上面,上面的写法有问题,但是在语法方面是没有问题的,举这个例子,只是为了更好的理解。

  • 评论于 2016-07-11 16:08 举报

    转载之前请确定是正确的再转载,谢谢!

    2 条回复
    评论于 2016-07-11 18:04 回复

    这是本人原创,哪里有错误,您把错误点指出来,不要和一楼一样,请给予详细的错误分析。到底哪里存在错误。
    不要扔下一句话,说我误人子弟,说我的文章有错误,说我的话题不对,请把错误点指出来。

    评论于 2016-07-11 18:07 回复

    原创地址:http://blog.csdn.net/terry_water/article/details/49817899
    这个是我的博客。

    觉得很赞
  • 评论于 2016-07-11 18:11 举报

    说我文章存在问题的,请给予详细的分析,像在知乎那样负责的回答问题,如果您指出明确的问题点,我很感谢帮助我扫盲。

    1 条回复
    评论于 2016-07-12 09:14 回复

    $ob = new $ob();你这个对吗?

  • 评论于 2016-07-12 09:16 举报

    根据你的写法:echo $ob->score;这个不会报错吗?

  • 评论于 2016-07-12 09:33 举报

    $ob = new ob; 已修正语法。

  • 评论于 2016-07-12 15:31 举报

    这种帖子属于话题,请下次发到话题模块中,感谢配合

    2 条回复
    评论于 2016-07-12 15:42 回复

    你们的举报功能,怎么一点就举报了,不需要确认,误点了举报。

    评论于 2016-07-12 15:46 回复

    举报过的帖子我们会亲自审核的,误点了帖子不会受影响。

您需要登录后才可以评论。登录 | 立即注册