课程
/后端开发
/PHP
/PHP面向对象编程
当classname值不存在的时候,__get()方法不是要被调用一次么,看视频的输出结果不对呢,没有再次调用__get()方法的输出。
2014-10-06
源自:PHP面向对象编程 5-5
正在回答
__get方法如果不返回值的话empty()就一直返回true,在empty()调用时会先调用__isset再调用__get,__isset返回false,empty()就与之相反取true而不会调用__get,__isset返回true,就会调用__get,当有返回值时相当于true,所以结果为false,这相当于一个或关系。empty(false|true) = true|false = true,empty(true|true)=false|false=false。
视频中echo后面使用的是单引号
举报
从容应对面试官的知识宝典,带你握面向对象的最重要的核心能力
1 回答为什么老师写的代码和底部发的源码不一样呢
1 回答接口里面也可以定义具体的方法和属性,但是定义抽象方法时,前面不能加上关键词abstrct。
2 回答构造函数是每创建一个类,都要写一个构造方法进行初始化吗?
2 回答继承问题 Nbaplayer()
1 回答如何测试自己编写的代码
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号