php实现对象克隆的方法

yipeiwu_com5年前PHP代码库

本文实例讲述了php实现对象克隆的方法。分享给大家供大家参考。具体如下:

<?php 
  //定义类staff,其中包括属性id和name 
  class staff  
  { 
   private $id; 
   private $name; 
   function setID($id)  
   { 
     $this->id = $id; 
   } 
   function getID()  
   { 
     return $this->id; 
   } 
   function setName($name)  
   { 
     $this->name = $name; 
   } 
   function getName()  
   { 
     return $this->name; 
   } 
  } 
  //创建一个新的staff对象并初始化 
  $ee1 = new staff(); 
  $ee1->setID("145"); 
  $ee1->setName("Simon"); 
  //克隆一个新的对象 
  $ee2 = clone $ee1; 
  //重新设置新对象的ID值 
  $ee2->setID("146"); 
  //输出ee1和ee2 
  echo "ee1 ID: ".$ee1->getID()."<br>"; 
  echo "ee1 Name: ".$ee1->getName()."<br>"; 
  echo "ee2 ID: ".$ee2->getID()."<br>"; 
  echo "ee2 Name: ".$ee2->getName()."<br>"; 
?> 

<?php 
  //定义类staff,其中包括属性id和name 
  class staff  
  { 
   private $id; 
   private $name; 
   function setID($id)  
   { 
     $this->id = $id; 
   } 
   function getID()  
   { 
     return $this->id; 
   } 
   function setName($name)  
   { 
     $this->name = $name; 
   } 
   function getName()  
   { 
     return $this->name; 
   } 
   //这里是__clone函数 
   function __clone() 
   { 
    $this->id = $this->id + 1; 
   } 
  } 
  //创建一个新的staff对象并初始化 
  $ee1 = new staff(); 
  $ee1->setID("145"); 
  $ee1->setName("Simon"); 
  //克隆一个新的对象 
  $ee2 = clone $ee1; 
  //重新设置新对象的ID值 
  //$ee2->setID("146"); 
  //输出ee1和ee2 
  echo "ee1 ID: ".$ee1->getID()."<br>"; 
  echo "ee1 Name: ".$ee1->getName()."<br>"; 
  echo "ee2 ID: ".$ee2->getID()."<br>"; 
  echo "ee2 Name: ".$ee2->getName()."<br>"; 
?> 

希望本文所述对大家的php程序设计有所帮助。

相关文章

细谈php中SQL注入攻击与XSS攻击

例如: SQL注入攻击 XSS攻击 复制代码 代码如下: 任意执行代码 文件包含以及CSRF. } 关于SQL攻击有很多文章还有各种防注入脚本,但是都不能解决SQL注入的根本问题 见代...

PHP中函数gzuncompress无法使用的解决方法

前言 gzuncompress函数不是php自带的系统函数而是一个插件函数了所以要使用 gzuncompress函数我们必须安装一个插件,下面来看看PHP函数gzuncompress无法...

php面试实现反射注入的详细方法

PHP具有完整的反射API,提供了对类、接口、函数、方法和扩展进行逆向工程的能力。通过类的反射提供的能力我们能够知道类是如何被定义的,它有什么属性、什么方法、方法都有哪些参数,类文件的路...

php中关于长度计算容易混淆的问题分析

本文实例讲述了php中关于长度计算容易混淆的问题。分享给大家供大家参考,具体如下: 经常被php中数组和字符串的字符函数搞晕,下面总结一下: strlen($string)函数:计算字符...

如何离线执行php任务

直接上代码,主要函数 ignore_user_abort(true); 这个函数忽略了终端被关闭(打开的网页被关闭),后面 getfiles()这函数是执行采集任务的自定义函数,后面又配...