【原型模式】
原型模式,也叫做克隆模式,即通过内存拷贝的方法拷贝父本对象的所有属性,分配一块新的内存空间给新的对象,比 new 的方式创建对象性能更好。通过克隆的方式创建对象,不会执行类的构造函数。
结构:使用Clone方法
示例:以克隆一个人为例
-
人实例类Person.php
<?php
namespace app\design04\controller;
class Person
{
private $name;
private $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
echo "---设置属性---";
echo '<br>';
}
public function mySelf() {
echo "我是{$this->name}, 年龄{$this->age}" . PHP_EOL;
}
public function copy() {
return clone($this);
}
}
- 测试:
<?php
namespace app\design04\controller;
class Client
{
//原型模式test
public function run()
{
$person1 = new Person("Tom