/ / Czy obiekty ColdFusion są przekazywane przez odniesienie lub według wartości? - oop, coldfusion, cfc, cfml

Czy obiekty ColdFusion są przekazywane przez odniesienie lub według wartości? - oop, coldfusion, cfc, cfml

Czy obiekty ColdFusion (tzn. CFC wywoływane przez cfobject) są zwykle przekazywane przez odniesienie lub według wartości (kopiowane w pamięci)? Czy jest możliwe zmusić ColdFusion do przekazania obiektu w dowolny sposób?

Odpowiedzi:

28 dla odpowiedzi № 1

Obiekty ColdFusion są przekazywane przez odniesienie. W rzeczywistości nie istnieje sposób przekazania obiektu według wartości, ale można utworzyć kopię za pomocą funkcji duplicate ().


15 dla odpowiedzi nr 2

Pamiętaj, że używanie duplikatu () nie działa w MX 7 do kopiowania pewnych rzeczy, takich jak obiekty CFC i COM, CORBA i Java. ty może skopiować CFC w CF 8, chociaż.


10 dla odpowiedzi nr 3

Złożone obiekty, takie jak struktury i CFC sąprzekazywane przez referencję, ale jeśli przekażesz tablicę do UDF, jest ona przekazywana według wartości. Dzięki temu niemożliwe jest napisanie funkcji zdefiniowanej przez użytkownika, która mutuje tablicę, tak jak robią to wbudowane funkcje tablicowe. Jeśli naprawdę potrzebujesz przekazać tablicę przez odniesienie, możesz zawinąć ją w strukturę, a następnie zostanie przekazana przez odniesienie.


4 dla odpowiedzi № 4

FWIW, tablice są również przekazywane przez odniesienie wSilnik Railo CFML, jak wielu deweloperów uważa, że ​​powinien. Przewiduje się również, że Railo 3.1 będzie oferować ustawienia administracyjne umożliwiające wybór domyślnego zachowania dla opcjonalnej zgodności z Adobe CF.