7.2 Objekte kopieren (klonen)
Problem
Sie möchten eine exakte Kopie eines Objekts erstellen, z.B. um die Kopie anschließend verändern zu können, ohne das Original zu beschädigen. Sie möchten, dass einige Objekt-Eigenschaften, die ihrerseits Objekte referenzieren, ebenfalls kopiert werden, so dass die gleichen Eigenschaften in den beiden Kopien nicht beide auf dasselbe Objekt zeigen.
Lösung
Verwenden Sie die Methode _ _clone()
in der Klasse und instanziieren Sie die Kopie mit clone
:
class os { public $type; // Typ des Betriebssystems } class personal_computer {
public $os; // Referenzeigenschaft, verweist auf ein Objekt der Klasse os. public $cpu; // ... andere Eigenschaften function _ _clone() { $this->os = clone $this->os; // Einen Klon der os-Eigenschaft ...
Get PHP 5 Kochbuch now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.