<?php
// 原型模式
class Obj
{
private $name = 'obj';
}
class Prototype
{
private $type = 'prototype';
private $obj = null;
public function construct($type = null)
{
$this->type = $type;
$this->obj = new Obj();
}
public function getType()
{
echoLine($this->type);
}
public function getObj()
{
return $this->obj;
}
}
$p = new Prototype('prototype');
$c = clone $p; //浅克隆
var_dump($c === $p); //false
var_dump($p->getObj() === $c->getObj()); //true
// ==================================================
// 深克隆
function deepClone($obj)
{
if(!is_object($obj))
return null;
return unserialize( serialize($obj) );
}
$dp = deepClone($p);
var_dump($dp === $p); //false
var_dump($p->getObj() === $dp->getObj()); //false以上就是php原型模式实现的代码实例的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号