php中的魔术方法__call(),__clone(),__set(),__get()_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php中的魔术方法__call(),__clone(),__set(),__get()_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1363字,纯文字阅读大概需要2分钟。
内容图文
![php中的魔术方法__call(),__clone(),__set(),__get()_PHP教程](/upload/InfoBanner/zyjiaocheng/190/526c6906f2274833b50057de73875298.jpg)
php中的魔术方法__call(),__clone(),__set(),__get()
__call($a,$v),当在类外部调用类中不存在或者不可见(用protected,private修饰)的方法时,会自动调用__call(方法名,数组参数),此时会向改方法传递2个参数,第一个为调用的方法名,第二个为传递的参数放进数组里。__clone()方法在类的对象被克隆时触发。__set($key,$val)在类外部设置类中不存在或者不可见(protected,private修饰)的属性时触发该方法,此时传递2个参数,第一个是属性名,第二个是属性值。__get($key)在类外部获取类中不存在或者不可见(protected,private修饰)的属性时触发该方法,此时传递1个参数,即为属性名。例子:<?php class test{ protected $a=1; private $b=2; public function __clone(){ echo "有人要克隆我
"; } public function __call($name,$arg){ echo "有人要调用不存在或不可见的方法名",$name,",第一个参数是$arg[0]
"; } public function __set($k,$v){ echo "有人要设置不存在或不可见的属性",$k,"的值为",$v,"
"; } public function __get($k){ echo "有人要获取不存在或不可见的属性",$k; } }
$test1=new test(); $test3=$test1;//此时$test3和$test1是同一个对象,即都指向同一个对象 $test2=clone $test1;//克隆后$test1和$test2是2个不同的对象,虽然存储的值相同 $test1->abc(1,2,3); $test1->a=3; $test1->b;
http://www.bkjia.com/PHPjc/1073355.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1073355.htmlTechArticlephp中的魔术方法__call(),__clone(),__set(),__get() __call($a,$v),当在类外部调用类中不存在或者不可见(用protected,private修饰)的方法时,会自动调...
内容总结
以上是互联网集市为您收集整理的php中的魔术方法__call(),__clone(),__set(),__get()_PHP教程全部内容,希望文章能够帮你解决php中的魔术方法__call(),__clone(),__set(),__get()_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。