7.13 Objekte klonen
Problem
Sie möchten ein Objekt kopieren.
Lösung
Kopieren Sie Objekte per Referenz mit =
:
$rasmus = $zeev;
Klonen Sie Objekte per Wert (by value) mit clone
:
$rasmus = clone $zeev;
Diskussion
PHP 5 kopiert Objekte per Referenz, nicht per Wert. Weisen Sie ein durch eine Variable festgehaltenes, bestehendes Objekt einer weiteren Variablen zu, ist diese neue Variable nichts anderes als ein neuer Name für das bestehende Objekt. Ob Sie den alten oder den neuen Namen für den Zugriff auf das Objekt einsetzen, ist egal: Sie erhalten immer das gleiche Ergebnis.
Wenn Sie eine neue, unabhängige Instanz des Objekts mit dem gleichen Inhalt erstellen wollen – auch als Klonen bezeichnet –, müssen Sie das Schlüsselwort clone
verwenden. Ansonsten greift ...
Get PHP 5 Kochbuch, Third Edition 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.