Palavra- chave clone PHP
Exemplo
Crie uma cópia de um objeto:
<?php
class MyClass {
public $color;
public $amount;
}
$obj = new MyClass();
$obj->color = "red";
$obj->amount = 5;
$copy = clone $obj;
print_r($copy);
?>
Definição e uso
A clone
palavra-chave é usada para criar uma cópia de um objeto.
Se alguma das propriedades for uma referência a outra variável ou objeto, somente a referência será copiada. Os objetos são sempre passados por referência, portanto, se o objeto original tiver outro objeto em suas propriedades, a cópia apontará para o mesmo objeto. Esse comportamento pode ser alterado criando um __clone()
método na classe.
Páginas relacionadas
Leia mais sobre classes em nosso Tutorial de Classes e Objetos PHP .
Mais exemplos
Exemplo
Crie uma cópia de um objeto que tenha uma referência:
<?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);
?>
Exemplo
Use um __clone()
método para quebrar referências em um 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);
?>
❮ Palavras-chave PHP