Datcg
2017-04-09 12:40
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);
http://www.imooc.com/video/3689
clone函数里的东西可以不用,课程里面只是为了让大家看得清楚
你把clone函数的东西去掉,也能运行。
使用_clone() 就将屏蔽_clone() 内的 复制 永远初始化
用__clone魔术方法可以让你克隆之后的代码重复利用,减少你代码的重复率。
PHP进阶篇
181835 学习 · 2577 问题
相似问题