前 言

 这篇文章主要介绍了PHP编程中的__clone()方法使用详解,__clone()方法相当于一个浅拷贝,是PHP入门学习中的基础知识,需要的朋友可以参考下。

 

1对象是引用数据类型,当使用=将一个对象赋值给另一个对象时,赋的是对象的地址,两个变量指向同一地址,一个改变另一个也跟着变

 

__construct() 函数 :创建一个新的 SimpleXMLElement 对象。如果成功,则该函数返回一个对象。如果失败,则返回 false。

原$zhangsan:

class Person{
    public $name;
    public $age;
    function __construct($name,$age){
        $this->name=$name;
        $this->age=$age;
    }
}
$zhangsan =new Person("张三",14);
var_dump($zhangsan);

设一个lisi

$lisi=$zhangsan;

把lisi的age设为28

$lisi->age=28;

同时打印张三和李四,会显示:

 

 

2clone:  如果想将一个对象完全克隆出一个互不干扰的对象,需要使用clone关键字;

 把李四clone张三再把age设为28

$lisi=clone $zhangsan;
$lisi->age=28;

这个时候再打印张三和李四

 

 

3__clone();

 


①当使用clone关键字克隆对象时,将自动调用魔术方法;
②__clone()函数,相当于克隆对象时的构造函数,用于给新克隆对象赋初值;
③在clone()函数中,$this指向的是新科隆出的对象。

function __clone(){
        echo "执行clone指令<br>";
        $this->name="李四";
    }

 

 

 

@唯芸熙

 

posted on 2017-10-27 10:40  唯芸熙  阅读(809)  评论(8编辑  收藏  举报