魔术方法php,__ call __get和__set?
发布时间:2020-12-13 22:10:32 所属栏目:PHP教程 来源:网络整理
导读:我的问题是,我们有一堂课: class SomeClass{ private $someProperty; public function __call($name,$arguments){ echo "Hello World";} 现在当我说: $object = new SomeClass();$object-someMethod(); 我的类中的__call方法将被调用. 当我说 $object-getS
我的问题是,我们有一堂课:
class SomeClass{ private $someProperty; public function __call($name,$arguments){ echo "Hello World"; } 现在当我说: $object = new SomeClass(); $object->someMethod(); 我的类中的__call方法将被调用. 当我说 $object->getSomeProperty(); 将__call再次被调用? 当我说 $object->someProperty; 然后会调用__get($someProperty)?或者它会__set($someProperty)? 解决方法
无论何时调用不可访问的方法,都会调用__call.
无论何时尝试读取属性,都会调用__get,无论是echo $obj-> prop;或$var = $obj-> prop; 最后,无论何时尝试写入属性,都会调用__set魔术方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |