威凡网全力打造:网页编程、软件开发编程、平面设计、服务器端开发、操作系统等在线学习平台!学编程,上威凡网!
PHP教程>> PHP基础 PHP技巧 PHP实例 PHP文摘 PHP模板 PHP总结
当前位置:首页 > PHP教程 > PHP实例
上一节 下一节
 PHP魔术方法以及关于独立实例与相连实例的全面讲解
<?php //魔术方法 //当包含多个类 //1.自动装载类的魔术方法__autoload() function __autoload($classname){ if (isset($classname)){ require_once $classname.'.class.php'; } } /* $computer1=new computer(); $computer1->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/>"; $computer4->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>"; print_r($argslist); echo "</pre>"; } private function __tostring(){ //当用户输出不存在的字符串时候,该方法自动调用 比如echo 对象名 echo "我是对象的字符串!"; } }

以上就是小编为大家带来的php魔术方法以及关于独立实例与相连实例的全面讲解全部内容了,希望大家多多支持脚本之家~



申明:本文章由威凡网编辑整理并发布,如文中有侵权行为,请与本站客服联系(QQ:254677821)!
上一节 下一节
相关教程  
其他教程  
PHP基础
PHP技巧
PHP实例
PHP文摘
PHP模板
PHP总结

Copyright©威凡网 版权所有 苏ICP备2023020142号
站长QQ:254677821