デバッグするために、特定の変数を自分のWebページにダンプしたいと思います。 cfscriptタグ内からそれを行うにはどうすればよいですか?
次のことを試しましたが、機能しません。
<cfscript>
...
<cfif cgi.REMOTE_ADDR eq "IP">
<cfdump var="#var1#"><br/>
</cfif>
...
</cfscript>
何ができるかについての手がかりはありますか?
CF 9より前のバージョンでは、このように直接行うことはできません。ただし、CFLibにある dump() UDFを使用することはできます。直接CFSCRIPTに相当するものがないCFタグを模倣するUDFのライブラリ全体があります。
ColdFusion 9(以降)はwriteDump()
関数を提供します。
Adobe Documentation Linkfor WriteDump() 関数
writeOutput()の使用方法と同じようにwriteDump()を使用します
cF 9リファレンスの writeDump を参照してください
以下ははるかに簡単で簡単ではありませんか?
oAdmin = createObject("component", "cfide.adminapi.base");
oAdmin.dump(myVar);
CF7以降、おそらくそれ以前でも機能します。
現在、ColdFusion11以降のcfscript内でプレーンタグ名が許可されています
<cfscript>
cfdump (var=#myVar#);
</cfscript>
自分で書くのもかなり簡単でしょう。関数は、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>
<cffunction name="setAbort" access="private" returntype="void" output="false">
<cfdump var="#arguments#"/><cfabort>
</cffunction>