為什么要用__clone魔術方法?明明可以不用?。浚?見代碼注釋)
class Car {
? ? public $name = 'car';
//不懂下面的克隆函數有啥用,明明就算不用它,依然可以用clone復制啊??? ? ?
/* ? ?public function __clone() {
? ? ? ? $obj = new Car();
? ? ? ? $obj->name = $this->name;
? ? }*/
}
$a = new Car();
$a->name = 'new car';
$b = clone $a;//這個克隆和直接賦值=又有啥差別呢?
if ($a == $b) echo '=='; ? //true
if ($a === $b) echo '==='; //false
$str = serialize($b); //對象序列化成字符串
echo $str.'<br>';
$c = unserialize($str); //反序列化為對象
var_dump($c);
2017-04-18
http://www.xianlaiwan.cn/video/3689
2017-11-09
clone函數里的東西可以不用,課程里面只是為了讓大家看得清楚
你把clone函數的東西去掉,也能運行。
2017-07-09
使用_clone() 就將屏蔽_clone() 內的 復制 永遠初始化
2017-04-09
用__clone魔術方法可以讓你克隆之后的代碼重復利用,減少你代碼的重復率。