Comment implémenter le clonage d'objets PHP

小云云
Libérer: 2023-03-20 20:52:01
original
1815 Les gens l'ont consulté

Parfois, nous devons utiliser deux objets identiques ou plus dans un projet. Si vous utilisez le mot-clé "new" pour recréer l'objet puis attribuer les mêmes attributs, c'est plus fastidieux et plus facile à faire. il est donc très nécessaire de cloner complètement un objet identique basé sur un objet, et après le clonage, les deux objets n'interféreront pas l'un avec l'autre. Cet article partage principalement avec vous la méthode d'implémentation du clonage d'objets PHP, en espérant aider tout le monde.

<?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 data-filtered="filtered">"; 
  echo "ee1 Name: ".$ee1->getName()."<br data-filtered="filtered">"; 
  echo "ee2 ID: ".$ee2->getID()."<br data-filtered="filtered">"; 
  echo "ee2 Name: ".$ee2->getName()."<br data-filtered="filtered">"; 
?>
Copier après la connexion

<?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>"; 
?>
Copier après la connexion

Recommandations associées :

clone php Quel est l'objet ? Comment y parvient-on ?

Comment utiliser le clonage d'objet php clone

Comment implémenter le clonage d'objet en php, tutoriel PHP object cloning_PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal