下面小编就为大家带来一篇PHP魔术方法以及关于独立实例与相连实例的全面讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
addList('dalisng',234); echo $computer1; */ //__call()屏蔽调用方法时候产生的错误,当我们调用一个不存在的方法时候,会自动调用__call()方法。 //独立实例,两个实例各自建立,互不干涉 $computer2=new Computer(); echo $computer2->name;echo "<br />"; $computer3=new Computer(); echo $computer3->name;echo "<br />"; $computer3->name="大亮"; echo '$computer3->name:'.$computer3->name;echo "<br />"; echo '$computer2->name:'.$computer2->name;echo "<br />"; echo "<hr />"; //相连实例,即 用等于号来开辟一个新的实例,此时两个实例共同指向一个内存地址,一损俱损,一荣俱荣 $computer4=new Computer(); echo '$computer4->name:'.$computer4->name;echo "<br />"; $computer5=$computer4; echo '$computer5->name:'.$computer5->name;echo "<br />"; $comput<i style="color:transparent">来源gaodai$ma#com搞$$代**码网</i>er4->name="大亮"; echo '$computer4->name:'.$computer4->name;echo "<br />"; echo '$computer5->name:'.$computer5->name;echo "<br />"; echo "<hr />"; //克隆__clone,克隆的新实例和被克隆的实例是两个相互独立的个体,虽然属性值相同,但是属性存放的地址不同,所以克隆后你我生死无关 $computer6=new Computer(); echo '$computer6->name:'.$computer6->name;echo "<br />"; $computer7=clone $computer6; echo '$computer7->name:'.$computer7->name;echo "<br />"; $computer6->name="克隆"; echo '$computer6->name:'.$computer6->name;echo "<br />"; echo '$computer7->name:'.$computer7->name;echo "<br />";
Computer.class.php
<?php class Computer{ public $name="1234"; function __construct(){ echo "you are right!"; } function __call($methodName,$argsList){//当方法不存在的时候会自动调用此方法,$argsList是相应的参数 echo $methodName."()方法不存在!"; echo "<pre class="prettyprint linenums">"; print_r($argsList); echo "
“; } private function __toString(){ //当用户输出不存在的字符串时候,该方法自动调用 比如echo 对象名 echo “我是对象的字符串!”; } }
以上就是PHP魔术方法以及关于独立实例与相连实例的全面讲解的详细内容,更多请关注gaodaima搞代码网其它相关文章!