cfproperty标签定义变量和coldfusion中的变量范围变量有什么区别?

时间:2009-07-09 08:42:53

标签: variables coldfusion cfc

cfproperty标签定义变量与ColdFusion中的变量范围变量之间有什么区别?

我有Java语言经验,您可以将ColdFusion cfproperty变量,变量范围变量与Java实例变量和类变量进行比较吗?

感谢谢谢!

3 个答案:

答案 0 :(得分:12)

CFPROPERTY仅对提供组件的元数据有用。我唯一使用它们的时候是在需要时为Web服务创建组件。

这是一个技术说明,它进一步讨论了CFPROPERTY:http://kb2.adobe.com/cps/191/tn_19169.html

变量范围是“受保护的”,仅在组件中可用。 “this”范围变量是公共属性。当然,使用“var”关键字声明的任何变量都是该方法的私有变量。

以下是有关组件范围的更多信息:http://www.hemtalreja.com/?p=94

答案 1 :(得分:6)

注意:cfproperty标记执行 NOT 定义的变量。

但是,在使用CFC Explorer(直接浏览到CFC)时很有用,这样就可以看到CFC对象的属性。

FYI ... cfproperty在CF9中会更有用。请参阅:ORM - Rethinking ColdFusion Database Integration

答案 2 :(得分:0)

在远程方法中使用自定义对象时,

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>