测试clone 魔术方法

php中,对象的赋值和传递都是通过引用进行的。但是有时候我们需要获得一个对象的副本,这个时候就可以用到关键字clone,与之对应的就是魔术方法__clone。

class test{
	private $name;
	private $age;

	public function __construct($name,$age){
		$this->name = $name;
		$this->age = $age;
	}

	public function funs(){
		return $this->name.'||'.$this->age;
	}

	function __clone (){	
		return "that is clone";
		//exit('can not clone');  //限制克隆
	}
}

$ob = new test('chuke',20);
$ob2 = clone $ob;  //会调用__clone 方法
//$ob2 = $ob; //直接赋值方式 变量指向的是同一对象  不会调用魔术方法
echo $ob2->funs();

通过__clone方法就可以限制克隆。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值