/ / Werden ColdFusion-Objekte als Referenz oder als Wert übergeben? oop, coldfusion, cfc, cfml

Werden ColdFusion-Objekte als Referenz oder als Wert übergeben? - oop, coldfusion, cfc, cfml

Werden ColdFusion-Objekte (d. H. CFCs, die über cfobject aufgerufen werden) normalerweise als Referenz oder als Wert (im Speicher kopiert) übergeben? Und ist es möglich, ColdFusion zu zwingen, ein Objekt auf beide Arten zu übergeben?

Antworten:

28 für die Antwort № 1

ColdFusion-Objekte werden als Referenz übergeben. Es gibt keine Möglichkeit, ein Objekt nach Wert zu übergeben, Sie können jedoch eine Kopie mit der Funktion duplicate () erstellen.


15 für die Antwort № 2

Denken Sie daran, dass Duplikat () verwendet funktioniert nicht in MX 7 zum Kopieren bestimmter Elemente wie CFCs und COM-, CORBA- und Java-Objekte. Sie kann eine CFC in CF 8 kopierenobwohl.


10 für die Antwort № 3

Komplexe Objekte wie Strukturen und CFCs sindals Referenz übergeben, aber wenn Sie ein Array an eine UDF übergeben, wird es als Wert übergeben. Dies macht es unmöglich, eine benutzerdefinierte Funktion zu schreiben, die ein Array wie die integrierten Array-Funktionen verändert. Wenn Sie ein Array wirklich als Referenz übergeben müssen, können Sie es in eine Struktur einschließen und dann als Referenz übergeben.


4 für die Antwort № 4

FWIW, Arrays werden auch als Referenz in der übergebenRailo CFML-Engine, wie viele Entwickler glauben, sie sollten. Von Railo 3.1 wird außerdem erwartet, dass es eine administrative Einstellung bietet, mit der Sie das Standardverhalten für die optionale Kompatibilität mit Adobe CF auswählen können.