Cloner PHP _
Exemple
Créer une copie d'un objet :
<?php
class MyClass {
public $color;
public $amount;
}
$obj = new MyClass();
$obj->color = "red";
$obj->amount = 5;
$copy = clone $obj;
print_r($copy);
?>
Définition et utilisation
Le clone
mot clé est utilisé pour créer une copie d'un objet.
Si l'une des propriétés était une référence à une autre variable ou un autre objet, seule la référence est copiée. Les objets sont toujours passés par référence, donc si l'objet d'origine a un autre objet dans ses propriétés, la copie pointera vers le même objet. Ce comportement peut être modifié en créant une __clone()
méthode dans la classe.
Pages connexes
En savoir plus sur les classes dans notre tutoriel sur les classes et les objets PHP .
Plus d'exemples
Exemple
Créez une copie d'un objet qui a une référence :
<?php
class MyClass {
public $amount;
}
// Create an object with a
reference
$value = 5;
$obj = new MyClass();
$obj->amount = &$value;
// Clone the object
$copy = clone $obj;
// Change the value in the
original object
$obj->amount = 6;
// The copy is changed
print_r($copy);
?>
Exemple
Utilisez une __clone()
méthode pour rompre les références dans un objet copié :
<?php
class MyClass {
public $amount;
public function __clone() {
$value = $this->amount;
unset($this->amount); // Unset breaks references
$this->amount = $value;
}
}
// Create an object with a reference
$value = 5;
$obj = new MyClass();
$obj->amount = &$value;
// Clone
the object
$copy = clone $obj;
// Change the value in the original
object
$obj->amount = 6;
// The copy is not changed
print_r($copy);
?>
❮ Mots clés PHP