課程
/后端開發
/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后面使用的是單引號
舉報
從容應對面試官的知識寶典,帶你握面向對象的最重要的核心能力
2 回答unset用echo為什么會報錯,而isset用不用echo都不會報錯???
1 回答這里的$obj是隨便定義的嗎
1 回答面向對象中的MVC呢?
1 回答對對象概念的疑問
1 回答一個類可以實現多個接口嗎
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-02-14
__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。
2015-12-13
視頻中echo后面使用的是單引號