PHP Deep Objekt kopieren / klonen [geschlossen]

8

Was ist der beste akzeptierte Weg in PHP, um eine tiefe Objektkopie / einen Klon auszuführen?

Ich habe einige Beispiele gefunden, die serialisieren, von denen ich denke, dass sie unter einigen Problemen leiden.

    
Antony 14.07.2012, 20:33
quelle

1 Antwort

7

Wenn Sie vollen Zugriff auf Ihre Klassen haben, können Sie __clone() in alle implementieren und dann das Schlüsselwort clone verwenden. Andernfalls erstellt das Schlüsselwort clone nur eine flache Kopie des obersten Objekts, während potenzielle Referenzen innerhalb dieses Objekts weiterhin auf ihre ursprünglichen Ziele zeigen. Die Methode __clone() gibt Ihnen auch mehr Kontrolle, kann aber Endlosschleifen mit zyklischen Referenzen erzeugen, wenn Sie nicht explizit mit ihnen umgehen.

Die Serialisierungstechnik funktioniert im Allgemeinen, stirbt nicht bei zyklischen Referenzen, ist aber in Bezug auf Speicher und CPU teurer.

    
Wolfgang Stengel 14.07.2012, 21:09
quelle

Tags und Links