PHP clone Mot-clé

❮ Mots-clés PHP

Exemple

Créer une copie d'un objet :

<?php
class MyClass {
public $color;
public $amount;
}

$obj = new MyClass();
$obj->color = "rouge";
$obj->amount = 5;
$copy = clone $obj;
print_r($copy);
?>
Essayez-le vous-même »

Définition et Utilisation

Le mot-clé clone est utilisé pour créer une copie d'un objet.

Si l'une des propriétés est une référence à une autre variable ou objet, seule la référence est copiée. Les objets sont toujours passés par référence, donc si l'objet original contient 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 méthode __clone() dans la classe.


Pages Associées

Lisez-en plus sur les classes dans notre Tutoriel sur les Classes et Objets PHP .


Plus d'Exemples

Exemple

Créer une copie d'un objet qui a une référence :

<?php
class MyClass {
public $amount;
}

// Créer un objet avec une référence
$value = 5;
$obj = new MyClass();
$obj->amount = &$value;

// Cloner l'objet
$copy = clone $obj;

// Changer la valeur dans l'objet original
$obj->amount = 6;

// La copie est modifiée
print_r($copy);
?>
Essayez-le vous-même »

Exemple

Utilisez une méthode __clone() 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 rompt les références
$this->amount = $value;
}
}

// Créer un objet avec une référence
$value = 5;
$obj = new MyClass();
$obj->amount = &$value;

// Cloner l'objet
$copy = clone $obj;

// Changer la valeur dans l'objet original
$obj->amount = 6;

// La copie n'est pas modifiée
print_r($copy);
?>
Essayez-le vous-même »

❮ Mots-clés PHP