PHP clone

41 阅读1分钟

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方法,可以起到禁止克隆的作用