/ / Gli oggetti ColdFusion sono passati per riferimento o per valore? - oop, coldfusion, cfc, cfml

Gli oggetti ColdFusion sono passati per riferimento o per valore? - oop, coldfusion, cfc, cfml

Gli oggetti ColdFusion (ad esempio CFC richiamati tramite cfobject) vengono normalmente passati per riferimento o per valore (copiati in memoria)? Ed è possibile forzare ColdFusion a passare un oggetto in entrambi i modi?

risposte:

28 per risposta № 1

Gli oggetti ColdFusion sono passati per riferimento. Non c'è davvero un modo per passare un oggetto per valore, ma è possibile creare una copia usando la funzione duplicate ().


15 per risposta № 2

Bene, tieni presente che l'uso di duplicato () non funziona in MX 7 per copiare alcune cose, come CFC e COM, CORBA e oggetti Java. tu può copiare un CFC in CF 8, anche se.


10 per risposta № 3

Gli oggetti complessi come struct e CFC sonopassato per riferimento, ma se si passa un array a un UDF viene passato per valore. Ciò rende impossibile scrivere una funzione definita dall'utente che muta una matrice come fanno le funzioni dell'array incorporato. Se è davvero necessario passare una matrice per riferimento, è possibile racchiuderla in una struttura e quindi passarla per riferimento.


4 per risposta № 4

FWIW, anche gli array vengono passati per riferimento inMotore CFML di Railo, come molti sviluppatori credono che dovrebbero. Inoltre, Railo 3.1 offre un'impostazione amministrativa che consente di scegliere il comportamento predefinito, per compatibilità opzionale con Adobe CF.