clone
对象模型是通过引用来调用对象的,有时需要建立一个对象的副本,如果希望改变其一而不互相影响
可以使用new重新创建,或使用clone克隆一个对象的副本,克隆后,对象完全相同且彼此独立
class A{
public $name;
public function __construct($name){
$this -> name = $name;
}
}
$a = new A("张三");
$b = clone $a;
echo $a->name . "<br>";
echo $b->name;
张三
张三
改掉某一个对象中的$name属性
$a->name = '李四';
echo $a->name . "<br>";
echo $b->name . "<br>";
李四
张三
另一对象不受任何影响
如果在类中设置一个空的,访问权限为private的__clone方法,可以起到禁止克隆的作用