【发布时间】:2010-11-09 07:27:43
【问题描述】:
cfproperty 标签定义变量和 ColdFusion 中的 variables 作用域变量有什么区别?
我有 Java 语言经验,你能将 ColdFusion cfproperty 变量、变量作用域变量与 Java 实例变量和类变量进行比较吗?
非常感谢!
【问题讨论】:
标签: variables coldfusion cfc
cfproperty 标签定义变量和 ColdFusion 中的 variables 作用域变量有什么区别?
我有 Java 语言经验,你能将 ColdFusion cfproperty 变量、变量作用域变量与 Java 实例变量和类变量进行比较吗?
非常感谢!
【问题讨论】:
标签: variables coldfusion cfc
CFPROPERTY 仅用于为组件提供元数据。我唯一一次使用它们是在为 Web 服务创建组件时,当需要它们时。
这是一个技术说明,它进一步讨论了 CFPROPERTY:http://kb2.adobe.com/cps/191/tn_19169.html
变量范围是“受保护的”,并且仅在组件内可用。 “this”范围变量是公共属性。当然,使用“var”关键字声明的任何变量都是该方法的私有变量。
这里有更多关于组件作用域的内容:http://www.hemtalreja.com/?p=94
【讨论】:
注意:cfproperty 标签确实不定义了变量。
但是,当您使用 CFC Explorer(直接浏览到 CFC)时,它会很有帮助,这样您就可以看到 CFC 对象的属性。
仅供参考...cfproperty 在 CF9 中将更加有用。见:ORM - Rethinking ColdFusion Database Integration
【讨论】:
cfproperty 在远程方法中使用自定义对象时很有用。例如,假设我有以下组件:
<cfcomponent displayname="User">
<cfset variables.firstName = "first" />
</cfcomponent>
我想将其用作对通过 SOAP 使用的远程方法的返回。我需要为要封装在返回对象中的每个变量添加<cfproperty> 标记,以便将该对象作为复杂类型包含在 WSDL 文档中。因此,上面的组件必须是:
<cfcomponent displayname="User">
<cfproperty name="firstName" type="string" />
<cfset variables.firstName = "first" />
</cfcomponent>
【讨论】: