对象克隆(clone)实例详解

2018-06-22 05:18:01来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

<?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();  //反序列化后访问对象方法

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:PHP设计模式之策略模式

下一篇:PHP异常处理