Frage

Coldfusion-Objekte (das heißt FCKW über cfobject aufgerufen), die normalerweise durch Verweis oder Wert übergeben (in den Speicher kopiert)? Und ist es möglich, Coldfusion zu zwingen, ein Objekt in jeder Art und Weise zu passieren?

War es hilfreich?

Lösung

Coldfusion-Objekte werden als Referenz übergeben. Es gibt nicht wirklich eine Möglichkeit, ein Objekt von Wert zu übergeben, aber Sie können eine Kopie mit der doppelten () Funktion erstellen.

Andere Tipps

Nun, denken Sie daran, dass doppelte mit () nicht in MX funktioniert 7 zum Kopieren bestimmte Dinge, wie FCKW und COM, CORBA und Java-Objekte. Sie können einen CFC in CF 8 kopieren, though.

Komplexe Objekte wie structs und FCKW als Referenz übergeben, aber wenn Sie ein Array an eine UDF übergeben wird als Wert übergeben. Dies macht es unmöglich, eine benutzerdefinierte Funktion zu schreiben, die ein Array wie das integrierte Array mutiert Funktionen tun. Wenn Sie wirklich ein Array passieren durch Verweis benötigen, können Sie es in einer Struktur wickeln, und dann wird es als Referenz übergeben werden.

FWIW, Arrays werden ebenfalls durch Bezugnahme in die Railo CFML Engine übergeben, wie viele Entwickler glauben, sie sollten. Railo 3.1 ist auch das Standardverhalten wählen, für die optionale Kompatibilität mit Adobe CF Sie erwartet eine administrative Einstellung anbieten zu können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top