cfscript 태그 내부에서 cfdump를 수행하는 방법은 무엇입니까?
-
22-08-2019 - |
문제
디버그하기 위해 특정 변수를 내 웹 페이지에 덤프하고 싶습니다. CFScript 태그 내부에서 어떻게 할 수 있습니까?
다음을 시도했지만 작동하지 않습니다.
<cfscript>
...
<cfif cgi.REMOTE_ADDR eq "IP">
<cfdump var="#var1#"><br/>
</cfif>
...
</cfscript>
무엇을 할 수 있는지에 대한 단서가 있습니까?
해결책
CF 9 이전 버전에서 직접 할 수는 없습니다. 그러나 사용할 수 있습니다. 덤프() CFLIB에서 발견 된 UDF. 직접 CFScript 등가가없는 CF 태그를 모방하는 UDF의 전체 라이브러리가 있습니다.
ColdFusion 9 (및 UP)가 제공합니다 writeDump()
기능.
Adobe Documentation Linkfor Writedump () 기능
다른 팁
writeoutput ()를 사용하는 방법처럼 writedump ()를 사용
보다 Writedump CF 9 참조
다음이 훨씬 쉽고 간단하지 않습니까?
oAdmin = createObject("component", "cfide.adminapi.base");
oAdmin.dump(myVar);
그것은 CF7과 앞으로, 아마도 더 일찍 작동합니다.
자신의 글을 쓰는 것은 매우 쉬울 것입니다. CFScript 대신 CFML에서 함수를 정의합니다. 이것을 사용하여 cfaborts 및 cfloops도 수행 할 수 있습니다.
이와 같은 것 (내 머리 꼭대기에서 ... 실행되지 않음).
<CFFUNCTION NAME="MyDump">
<CFARGUMENT NAME="OBJ" Required="TRUE">
<CFDUMP VAR="#Obj#">
</CFFUNCTION>
<CFSCRIPT>
if(cgi.REMOTE_ADDR eq "IP"){
MyDump(Var1);
}
</CFSCRIPT>
이제 cfscript 내에서 허용되는 일반 태그 이름 11
<cfscript>
cfdump (var=#myVar#);
</cfscript>
<cffunction name="setAbort" access="private" returntype="void" output="false">
<cfdump var="#arguments#"/><cfabort>
</cffunction>
덤프의 경우 Writedump (Myvar)를 사용합니다. CFScript 대신에 동일하게 우리는 중단을 사용합니다. 모든 인스턴스에서 프로그램 실행을 종료하는 대신 writeoutput ()을 사용합니다. 대신에
<cfoutput>#myvar#</cfoutput>
아래는 CFScript에서 덤프 및 중단 코드입니다.
writedump(myvar); for dump
abort; for stop execution of programm
writeoutput(myvar); for output within cfscript