CFdump cfcomponent cfscript

时间:2009-12-16 21:02:13

标签: coldfusion

可以在cfcomponent中使用cfdump吗? 可以在cfscript中使用cfdump吗?

我知道anser是no,那么如何发出insde cfcomponent函数的值 CFSCRIPT? 我正在使用CF8

4 个答案:

答案 0 :(得分:8)

  

可以在cfcomponent中使用cfdump吗?

是的,有一些警告。如果使用CFDUMP后跟CFABORT,则无论组件/方法是否已关闭输出,都将显示转储。当然,这会中止所有处理。

  

可以在cfscript中使用cfdump吗?

不完全(除非您使用的是CF9),但有一些解决方法。

您可以关闭脚本,放入转储标记,然后重新打开它,如下所示:

</cfscript><cfdump var="#myVar#"><cfscript>

CFLib上还有一个模仿CFDUMP标记的UDF。

Dump

已添加:在CF9或更高版本中,还有writeDump()

答案 1 :(得分:4)

Coldfusion 9:

<cfscript>
    myVar = "this is a test";
    WriteDump(myVar); 
</cfscript>

Coldfusion 8及以下: CF 8没有标签的cfscript版本,因此如果需要,首先需要将其抽象为用户定义的函数。您的组件需要可以访问此功能。

如果此代码与CF9一起使用,我避免使用名称“WriteDump()”来防止任何可能的冲突。

<!--- Abstract cfdump tag for use in cfscript --->
<cffunction name="scriptDump" output="no" hint="Abstracts cfdump for cfscript">
    <cfargument name="myVar" required="yes">
    <cfset var result = "">

    <cfsavecontent variable="result">
        <cfdump var="#arguments.myVar#">
    </cfsavecontent>

    <cfreturn result>
</cffunction>

<cfset myVar = "this is a test">

<!--- Test the scriptDump(var) function in cfscript --->
<cfscript>
    dumpOfMyVar = scriptDump(myVar);
</cfscript>

<!--- Test the scriptDump(var) function in regular HTML --->
<cfoutput>
    #scriptDump(myVar)#
</cfoutput>

答案 2 :(得分:1)

在cfcomponent里面cfdump?为什么不......但我认为你应该在一个功能中做到这一点。

  

cfdump里面的cfscript? CF9中的WriteDump(),或者搜索cflib以查找在CF6 +中工作的UDF

答案 3 :(得分:1)

您只能在CF9中使用writeDump。如果你在CF8,请使用:


adminapi = createObject("component","cfide.adminapi.base");
adminapi.dump(foo);