Klíčové slovo klonu PHP
Příklad
Vytvořte kopii objektu:
<?php
class MyClass {
public $color;
public $amount;
}
$obj = new MyClass();
$obj->color = "red";
$obj->amount = 5;
$copy = clone $obj;
print_r($copy);
?>
Definice a použití
Klíčové clone
slovo se používá k vytvoření kopie objektu.
Pokud některá z vlastností byla odkazem na jinou proměnnou nebo objekt, zkopíruje se pouze odkaz. Objekty jsou vždy předávány odkazem, takže pokud má původní objekt ve svých vlastnostech jiný objekt, kopie bude ukazovat na stejný objekt. Toto chování lze změnit vytvořením __clone()
metody ve třídě.
Související stránky
Přečtěte si více o třídách v našem výukovém programu pro třídy a objekty PHP .
Další příklady
Příklad
Vytvořte kopii objektu, který má odkaz:
<?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);
?>
Příklad
Použijte __clone()
metodu k přerušení odkazů v zkopírovaném objektu:
<?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);
?>
❮ Klíčová slova PHP