Pregunta

¿Normalmente se pasan los objetos de ColdFusion (es decir, los CFC invocados a través de cfobject) por referencia o por valor (se copian en la memoria)? ¿Y es posible forzar a ColdFusion a pasar un objeto de cualquier manera?

¿Fue útil?

Solución

Los objetos de ColdFusion se pasan por referencia. Realmente no hay una forma de pasar un objeto por valor, pero puede crear una copia utilizando la función duplicate ().

Otros consejos

Bueno, tenga en cuenta que el uso de duplicate () no funciona en MX 7 para copiar ciertas cosas, como objetos CFC y COM, CORBA y Java. Sin embargo, puede copiar un CFC en CF 8 . p>

Los objetos complejos, como las estructuras y los CFC, se pasan por referencia, pero si se pasa una matriz a un UDF, se pasa por valor. Esto hace que sea imposible escribir una función definida por el usuario que mute una matriz como lo hacen las funciones de matriz integradas. Si realmente necesita pasar una matriz por referencia, puede envolverla en una estructura, y luego se pasará por referencia.

FWIW, las matrices también se pasan por referencia en el motor CFML de Railo, como muchos desarrolladores creen que deberían. También se espera que Railo 3.1 ofrezca una configuración administrativa que le permita elegir el comportamiento predeterminado, para la compatibilidad opcional con Adobe CF.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top