【克隆模式】
克隆模式是通过内存拷贝的方法拷贝父本对象的所有属性,分配一块新的内存空间给新的对象,比 new 的方式创建对象性能更好。通过克隆的方式创建对象,不会执行类的构造函数。
结构:使用Clone方法
示例:以克隆一个人为例
<?php
namespace app\index\controller;
class Test
{
private $name;
private $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
public function mySelf() {
echo "我是{$this->name}, 年龄{$this->age}" . PHP_EOL;
}
public function play() {
echo "玩..." . PHP_EOL;
}
public function work() {
echo "工作..." . PHP_EOL;
}
public function copy() {
return clone($this);
}
}
$tom = new Test("Tom", 28);
$tom->mySelf();
$tom->play();
$tom->work();
//克隆对象
$tom1 = $tom->copy();
$tom1->mySelf();
$tom1->play();
$tom1->work();