Słowo kluczowe klon PHP
Przykład
Utwórz kopię obiektu:
<?php
class MyClass {
public $color;
public $amount;
}
$obj = new MyClass();
$obj->color = "red";
$obj->amount = 5;
$copy = clone $obj;
print_r($copy);
?>
Definicja i użycie
Słowo clone
kluczowe służy do tworzenia kopii obiektu.
Jeśli którakolwiek z właściwości była odwołaniem do innej zmiennej lub obiektu, kopiowane jest tylko odwołanie. Obiekty są zawsze przekazywane przez odniesienie, więc jeśli oryginalny obiekt ma we właściwościach inny obiekt, kopia będzie wskazywać na ten sam obiekt. To zachowanie można zmienić, tworząc __clone()
metodę w klasie.
Powiązane strony
Przeczytaj więcej o klasach w naszym samouczku dotyczącym klas i obiektów PHP .
Więcej przykładów
Przykład
Utwórz kopię obiektu, który ma odniesienie:
<?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);
?>
Przykład
Użyj __clone()
metody, aby przerwać odniesienia w kopiowanym obiekcie:
<?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);
?>
❮ Słowa kluczowe PHP