PHP - Klon -Schlüsselwort
Beispiel
Erstellen Sie eine Kopie eines Objekts:
<?php
class MyClass {
public $color;
public $amount;
}
$obj = new MyClass();
$obj->color = "red";
$obj->amount = 5;
$copy = clone $obj;
print_r($copy);
?>
Definition und Verwendung
Das clone
Schlüsselwort wird verwendet, um eine Kopie eines Objekts zu erstellen.
Wenn eine der Eigenschaften ein Verweis auf eine andere Variable oder ein anderes Objekt war, wird nur der Verweis kopiert. Objekte werden immer als Referenz übergeben, wenn also das ursprüngliche Objekt ein anderes Objekt in seinen Eigenschaften hat, zeigt die Kopie auf dasselbe Objekt. Dieses Verhalten kann geändert werden, indem eine __clone()
Methode in der Klasse erstellt wird.
Verwandte Seiten
Lesen Sie mehr über Klassen in unserem Tutorial zu PHP-Klassen und -Objekten .
Mehr Beispiele
Beispiel
Erstellen Sie eine Kopie eines Objekts, das eine Referenz hat:
<?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);
?>
Beispiel
Verwenden Sie eine __clone()
Methode, um Referenzen in einem kopierten Objekt aufzuheben:
<?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);
?>
❮ PHP-Schlüsselwörter