Wie kopierst du ein PHP-Objekt in einen anderen Objekttyp?

8
  1. Neue Klasse ist eine Unterklasse des ursprünglichen Objekts

  2. Es muss php4-kompatibel sein

Azrul Rahim 23.09.2008, 05:30
quelle

5 Antworten

6

Sie könnten Ihre Klassen leer formatieren lassen und dann mit einer beliebigen Anzahl von Methoden laden. Eine dieser Methoden könnte eine Instanz der Elternklasse als Argument akzeptieren und dann ihre Daten von dort kopieren

%Vor%     
Jurassic_C 23.09.2008, 06:11
quelle
5

Du kannst es mit etwas schwarzer Magie machen, obwohl ich ernsthaft warum fragst, ob du diese Anforderung überhaupt hast. Es deutet darauf hin, dass mit Ihrem Design etwas nicht stimmt.

Trotzdem:

%Vor%

Dies unterliegt denselben Einschränkungen wie die allgemeine Serialisierung, was bedeutet, dass Verweise auf andere Objekte oder Ressourcen verloren gehen.

    
troelskn 23.09.2008 14:32
quelle
3

Ein PHP-Objekt unterscheidet sich nicht wesentlich von einem Array, und da alle PHP 4-Objektvariablen öffentlich sind, können Sie ein paar unordentliche Sachen machen:

%Vor%

Es ist nicht schön, und es ist nicht genau das, was ich als gute Praxis betrachte, aber es ist wiederverwendbar, und es ist ziemlich nett.

    
Marc Gear 23.09.2008 12:45
quelle
2

Die beste Methode wäre, eine Klonmethode für die Unterklasse zu erstellen, so dass Sie Folgendes tun können:

%Vor%

Alternativ klingt es so, als könnten Sie in das Dekorationsmuster PHP-Beispiel

    
Geoff 23.09.2008 05:39
quelle
1

Ich würde mir vorstellen, Sie müssten eine Art "Kopierkonstruktor" erfinden. Dann würden Sie einfach ein neues Unterklassenobjekt erstellen, während Sie das ursprüngliche Objekt übergeben.

    
Joe Phillips 23.09.2008 05:32
quelle

Tags und Links