Adobe ColdFusion 8

cfdump

描述

使用 cfdump 标签来获取元素,变量和各式ColdFusion 对象的结构. 对于调试来说,是非常有用的. 你可以显示简单和复杂类型的变量结构,对象,组件,用户自定义函数和其他元素.

类别

调试性标签 可变操纵 标签

语法

<cfdump 
    var = "#variable#"
    expand = "yes|no" 
    format = "text|html"
    hide = "columns|keys"
    keys = "number of keys to display for structures"
    label = "text"
    metainfo = yes|no"
    output = "browser|console|file"
    show = "columns|keys"
    showUDFs = "yes|no"
    top = "number of rows|number of levels">
注: 你可以在attributeCollection 中指定这个标签的属性,作为一个结构的value,在attributeCollection 中指定结构的名称,并使用这个标签的属性名称作为这个结构的Keys.

属性

属性

必须/可选

默认

Description

var

必须

 

用于显示变量.将变量名称写入引号内 .

以下这些变量和结构等可以利用 cfdump 输出:

  • array
  • CFC
  • COM object
  • file object
  • Java object
  • simple
  • query
  • structure
  • UDF
  • wddx
  • xml

expand

可选

yes

  • yes: 在 Internet Explorer 和 Mozilla, 可展开查看.
  • no: 控制不允许展开.

format

可选

text

output属性一起来指定是将cfdump的结果保存成文本,还是以HTML格式查看.

hide

可选

all

如果dump的变量是query,这是一个以逗号分隔的清单名称.如果dump变量作为结构,这是一个以逗号分隔的keys.

如果你指定的结构元素不存在, ColdFusion 会将其隐藏,避免,而不会出现错误.

keys

可选

9999

当变量为结构时,决定最大可以显示的Key的数量.

label

可选

 

一个字符串; dump输出的头标签. 如果var属性的值是简单类型的,将被忽视.

metainfo

可选

yes

只用于dump的变量是query的时候. 包含query的相关信息在cfdump的结果中,包括query是否被缓存,执行时间和sql语句.你需要指定metainfo="no"query的结果去排除这个信息.

output

可选

browser

cfdump的结果发送到哪里.以下几个值是有效的:

  • browser
  • console
  • filename

文件名会包括这个文件的全部路径.你可以指定一个绝对路径,或是相关联的ColdFusion 临时目录.你可以使用GetTempDirectory()函数去获取ColdFusion 临时目录.

show

可选

all

如果dump的变量是query,这是一个以逗号分隔的清单名称.如果dump变量作为结构,这是一个以逗号分隔的keys.

showUDFs

可选

yes

  • yes: 包含自定义函数, 而函数方法是被收合的.
  • no: 不包含自定义函数.

top

可选

9999

最大显示的行数量,如果dump的变量是结构的话,这将表示最大显示内联的级数.

用途

cfump在工作与一个大型结构上的调试显示上具有很有效的作用, 例如XML文档对象,系列结构和数组.

为展示一个结构,像下面这样陈列XmlDocument的对象:

<cfif IsXmlDoc(mydoc) is "yes">
    <cfdump var="#mydoc#">
</cfif>

标签的输出根据数据类型的不同,颜色也不一样.

如果有一些表的列是空的,这个标签将显示 "[empty string]".

范例

<!--- This example shows how to use this tag to display the CGI scope as a structure: --->

<cfdump var="#cgi#">

<!--- This displays information about file objects. --->
<cfscript> 
myfile = FileOpen("c:\temp\test1.txt", "read");
</cfscript>
myfile refers to:
<cfdump var="#myfile.filepath#">