php教程_php中的“克隆羊”

 所属分类:php教程

 浏览:90次-  评论: 0次-  更新时间:2022-06-14
描述:这是一篇php教程_php中的“克隆羊”的说明内容,如果你想学习查找类似的文章,可以进入php教程获得最新优质资料。 定义:克隆对象clone,即...
这是一篇php教程_php中的“克隆羊”的说明内容,如果你想学习查找类似的文章,可以进入php教程获得最新优质资料。 定义:克隆对象clone,即通过已有的对象复制一个新的同样的对象,但是两者之间并非同一个对象。

1.对象克隆是通过clone关键字实现,即:clone 对象;

<?php
class Saler{
  	//属性
  	public $count;				
  	private $money;
}
//实例化
$s1 = new Saler();
$s1->count = 1;

//克隆
$s2 = clone $s1;
?>

2.克隆出来的对象与原来对象是两个内存地址,因此是两个不同的对象

<?php
//接上述代码
$s2->count = 2;

echo $s1->count;		//1,没有变化
?>

3. 对象在实例化的时候会自动调用存在的构造方法__construct(),同样的,在类的内部,PHP允许定义一个__clone()的方法,在对象被克隆后,新克隆出来的对象会自动调用

<?php
class Saler{
  	//属性
  	public $count;				
  	private $money;
    //克隆方法
    public function __clone(){
        var_dump($this);			//编号为2,代表是克隆出来的对象
        $this->count++;
    }
}
//实例化
$s1 = new Saler();
$s1->count = 1;

//克隆
$s2 = clone $s1;
?>

4.如果不允许对象被克隆,可以将__clone()方法私有化(本质是不允许对象在外部被克隆)

<?php
class Saler{
  	//属性
  	public $count;				
  	private $money;
    //私有化克隆方法
    private function __clone(){}
}
//实例化
$s1 = new Saler();
$s1->count = 1;

//克隆
$s2 = clone $s1;			//致命错误:不允许对象在外部访问一个私有方法
?>

推荐:php视频教程

以上就是php中的“克隆羊”的详细内容,更多请关注zzsucai.com其它相关文章!

 标签:
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!