编辑:如果我在一个对象上应用一些业务逻辑,然后我需要一个它的克隆在其他一些过程中横向移动。在对象的新实例上重新应用很有可能产生不同结果的业务逻辑或克隆现有实例是否更有效?但是,如果我这样做 $a = $b,通过引用传递的对象是不够的。
让我们看这个例子:
$a = new test();
$b = $a;
$b->setSomeProp('test');
$a->setSomeProp('failed');
echo $b->getSomeProp(); //returns 'failed'
和
$a = new test();
$b = unserialize(serialize($a));
$b->setSomeProp('test');
$a->setSomeProp('failed');
echo $b->getSomeProp(); //returns 'test'
有没有更好的方法来替换参考?