Clon de PHP Palabra clave
Ejemplo
Crear una copia de un objeto:
<?php
class MyClass {
public $color;
public $amount;
}
$obj = new MyClass();
$obj->color = "red";
$obj->amount = 5;
$copy = clone $obj;
print_r($copy);
?>
Definición y uso
La clone
palabra clave se utiliza para crear una copia de un objeto.
Si alguna de las propiedades era una referencia a otra variable u objeto, solo se copia la referencia. Los objetos siempre se pasan por referencia, por lo que si el objeto original tiene otro objeto en sus propiedades, la copia apuntará al mismo objeto. Este comportamiento se puede cambiar creando un __clone()
método en la clase.
páginas relacionadas
Lea más sobre las clases en nuestro tutorial de clases y objetos de PHP .
Más ejemplos
Ejemplo
Cree una copia de un objeto que tenga una referencia:
<?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);
?>
Ejemplo
Use un __clone()
método para romper referencias en un objeto copiado:
<?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);
?>
❮ Palabras clave de PHP