Tôi di chuyển một ứng dụng từ ColdFusion 9 đến ColdFusion 11.Loại Chuyển đổi tự động trong ColdFusion 11
Trong mã hiện có một bài tập của một biến để false
:
<cfset VARIABLES.roleTypeId = false >
Và sau đó, xa hơn xuống, một hàm cho rằng biến này là số:
<cffunction name="rolesForStudy" >
<cfargument name="id" hint="Study Id">
<cfargument name="roleTypeId" default="#VARIABLES.roleTypeId#" type="numeric"/>
</cffunction>
Tôi thừa hưởng mã và không thể bảo vệ quyết định của lập trình viên ban đầu theo cách này - nhưng, trong ngắn hạn, nó làm việc trong Coldfusion 9, và nó không hoạt động trong Coldfusion 11 (trả về lỗi kiểu dữ liệu). Tôi cho rằng ColdFusion 9 đã tự động chuyển đổi false
thành 0
.
Câu hỏi của tôi: Có cài đặt cấu hình nào mà tôi có thể thay đổi trong Coldfusion 11 để làm cho nó thực hiện chuyển đổi như ColdFusion 9 không? Hoặc tôi sẽ phải sửa mã này, cùng với rất nhiều ví dụ tương tự khác trong toàn bộ ứng dụng? Tôi hoặc quản trị viên Coldfusion của tôi cũng không thể tìm thấy bất kỳ thông tin nào về điều này trong giao diện Quản trị viên ColdFusion, tài liệu ColdFusion hoặc trực tuyến.
Sửa trong những đáp ứng cho Adam Cameron trong ý kiến
tôi đã tạo ra một tập tin đó bao gồm 10 dòng sau (và không có gì khác):
<cfset VARIABLES.roleTypeId = false >
<cfoutput>
<p>#rolesForStudy(1, VARIABLES.roleTypeId)#</p>
</cfoutput>
<cffunction name="rolesForStudy" >
<cfargument name="id" hint="Study Id">
<cfargument name="roleTypeId" default="#VARIABLES.roleTypeId#" type="numeric"/>
<cfreturn "It worked" >
</cffunction>
Khi tôi thực hiện nó trong ColdFusion 9 , nó hiển thị các từ "Nó hoạt động".
khi tôi thực hiện nó trong ColdFusion 11, nó sẽ trả về thông báo lỗi sau:
Nếu tên thành phần được quy định như một loại lập luận này, có thể là hoặc là một tập tin định nghĩa cho thành phần không thể tìm thấy hoặc không thể truy cập được.
Bất kể vấn đề của bạn là gì, nó không phải là một vấn đề giả mạo với số (nó sẽ chuyển thành 0 tốt). Hành vi này đã không thay đổi trong ColdFusion 11. Bạn có thể cung cấp một trường hợp repro thích hợp thể hiện những gì bạn đang nhìn thấy? Cũng cung cấp lỗi chính xác (sao chép và dán từ màn hình). Cũng có thể trả tiền để đọc điều này: http://blog.adamcameron.me/2013/09/short-self-contained-correct-compilable.html –
Holy f *** (chỉ cần chạy mã cập nhật của bạn ở đây. Tôi nhận được như vậy Hãy nhìn vào nó) –