clone

Aus php bar
Wechseln zu: Navigation, Suche

Clone kopiert ein Objekt mit all seinen Eigenschaften. Man erhält eine eigenständige Kopie des Objekts.

1 // $objekt_kopie enthält danach ein GLEICHES Objekt
2 $objekt_kopie = clone $objekt;


Im Gegensatz wird mit '=' nur eine Referenz auf das Objekt erzeugt.

1 // $objekt_referenz enthält danach das SELBE Objekt
2 $objekt_referenz = $objekt;


Beispiel:

 $objekt = new Objekt;
 $objekt->name = 'Original';
 echo 'Original: ' . $objekt->name;
 
 // Kopie anlegen
 $objekt_kopie = clone $objekt;
 $objekt_kopie->name = 'Kopie';
 
 echo 'Original nach Kopieumbennung: ' . $objekt->name;
10 echo 'Kopie: ' . $objekt_kopie->name;
11 
12 
13 // Referenz anlegen
14 $objekt_referenz = $objekt;
15 $objekt_referenz->name = 'Referenz';
16 
17 echo 'Original nach Referenzumbennung: ' . $objekt->name;
18 echo 'Referenz: ' . $objekt_referenz->name;

Ausgabe:

Original: Original

Original nach Kopieumbennung: Original
Kopie: Kopie

Original nach Referenzumbennung: Referenz
Referenz: Referenz

siehe auch: __clone()


Meine Werkzeuge