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.