Parola chiave clone PHP
Esempio
Crea una copia di un oggetto:
<?php
class MyClass {
public $color;
public $amount;
}
$obj = new MyClass();
$obj->color = "red";
$obj->amount = 5;
$copy = clone $obj;
print_r($copy);
?>
Definizione e utilizzo
La clone
parola chiave viene utilizzata per creare una copia di un oggetto.
Se una delle proprietà era un riferimento a un'altra variabile o oggetto, viene copiato solo il riferimento. Gli oggetti vengono sempre passati per riferimento, quindi se l'oggetto originale ha un altro oggetto nelle sue proprietà, la copia punterà allo stesso oggetto. Questo comportamento può essere modificato creando un __clone()
metodo nella classe.
Pagine correlate
Leggi di più sulle classi nel nostro tutorial su classi e oggetti PHP .
Altri esempi
Esempio
Crea una copia di un oggetto che ha un riferimento:
<?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);
?>
Esempio
Utilizzare un __clone()
metodo per interrompere i riferimenti in un oggetto copiato:
<?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);
?>
❮ Parole chiave PHP