PHP -kloon Trefwoord
Voorbeeld
Maak een kopie van een object:
<?php
class MyClass {
public $color;
public $amount;
}
$obj = new MyClass();
$obj->color = "red";
$obj->amount = 5;
$copy = clone $obj;
print_r($copy);
?>
Definitie en gebruik
Het clone
sleutelwoord wordt gebruikt om een kopie van een object te maken.
Als een van de eigenschappen een verwijzing was naar een andere variabele of een ander object, wordt alleen de verwijzing gekopieerd. Objecten worden altijd doorgegeven via referentie, dus als het originele object een ander object in zijn eigenschappen heeft, zal de kopie naar hetzelfde object verwijzen. Dit gedrag kan worden gewijzigd door een __clone()
methode in de klasse te maken.
Gerelateerde pagina's
Lees meer over lessen in onze PHP Lessen en Objecten Tutorial .
Meer voorbeelden
Voorbeeld
Maak een kopie van een object dat een verwijzing heeft:
<?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);
?>
Voorbeeld
Gebruik een __clone()
methode om verwijzingen in een gekopieerd object te verbreken:
<?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);
?>
❮ PHP-sleutelwoorden