对象克隆(clone)实例详解

<?php
class Staff
{
  public $name;
  public $age;
  public $salary;
  public function __construct($name,$age,$salary=0)
  {
    $this->name = $name;
    $this->age = $age;
    $this->salary = $salary;
  }
  public function __sleep()
  {
    return ['name','age'];
  }
  public function __wakeup()
  {
    $this->age = 30;
  }
  public function hello()
  {
    return 'hello '.$this->name;
  }
}

$obj1 = new Staff('peter',28,3500);
//序列化前属性
echo '我的name:'.$obj1->name,'我的age:'.$obj1->age;
echo '<hr>';
$objStr = serialize($obj1);
echo '序列化的对象:'.$objStr;
echo '<hr>';
//反序列化
$obj2 = unserialize($objStr);
//反序列化后,属性age已被修改为30
echo '我的name:'.$obj2->name,'我的age:'.$obj2->age;
echo '<hr>';
echo $obj2->hello();  //反序列化后访问对象方法

 

转载于:https://www.cnblogs.com/php-cn/p/6827091.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值