重写__clone方法实现
<?php
// shallow copy & deep copy
class logo
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
class car
{
public $type;
public $logo;
public function __construct($type, $logoName)
{
$this->type = $type;
$this->logo = new logo($logoName);
}
// //利用魔术方法__clone:在car对象被clone时,把成员属性中的对象也clone
// public function __clone(){
// $this->logo = clone $this->logo;
// }
}
$a = new car('bmw', 'bmw_log');
$c = clone $a;
$c->logo->name = 'mazda_log';
echo $a->logo->name;
echo $c->logo->name;