PHP入门,clone和__clone

时间:2022-08-11 08:52:45

  前 言

 这篇文章主要介绍了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);

PHP入门,clone和__clone

设一个lisi

$lisi=$zhangsan;

把lisi的age设为28

$lisi->age=28;

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

PHP入门,clone和__clone

 

 

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

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

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

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

PHP入门,clone和__clone

 

 

3__clone();

 


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

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

PHP入门,clone和__clone

 

 

 

@唯芸熙