ColdFusion:在 CFC 中省略 variables 关键字是否安全?

标签 coldfusion cfc

在 ColdFusion 组件 (CFC) 中,是否有必要为变量范围的变量使用完全限定名称?

如果我改变这个,我会不会惹上麻烦:

<cfcomponent>
    <cfset variables.foo = "a private instance variable">

    <cffunction name = "doSomething">
        <cfset var bar = "a function local variable">
        <cfreturn "I have #variables.foo# and #bar#.">
    </cffunction>
</cfcomponent>

到这个?
<cfcomponent>
    <cfset foo = "a private instance variable">

    <cffunction name = "doSomething">
        <cfset var bar = "a function local variable">
        <cfreturn "I have #foo# and #bar#.">
    </cffunction>
</cfcomponent>

最佳答案

创建变量时指定“变量”无关紧要,因为 foo 默认会放在变量范围内;但是当您访问变量时会很重要。

<cfcomponent>
    <cfset foo = "a private instance variable">

    <cffunction name="doSomething">
        <cfargument name="foo" required="yes"/>
        <cfset var bar = "a function local variable">
        <cfreturn "I have #foo# and #bar#.">
    </cffunction>

    <cffunction name="doAnotherThing">
        <cfargument name="foo" required="yes"/>
        <cfset var bar = "a function local variable">
        <cfreturn "I have #variables.foo# and #bar#.">
    </cffunction>

</cfcomponent>

doSomething("args") 返回“我有 args 函数局部变量

doAnotherThing("args") 返回“我有 变量的私有(private)实例 函数局部变量 。”

关于ColdFusion:在 CFC 中省略 variables 关键字是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59390/

相关文章:

sql-server-2008 - Coldfusion CFSTOREDPROC 不返回表

javascript - 如何在 ColdFusion CFC 的远程方法中使用/访问 SESSION 变量?

java - Coldfusion 获取给定 IP4 地址范围内的所有 IP 地址

Jquery Ajax 调用 CFC 不起作用

coldfusion - cfmail 拒绝样式声明

coldfusion - 如何摆脱 Evaluate with Object 函数调用

jquery - 当远程访问时,ColdFusion CFC 是否非常安全?

javascript - 如何在 ColdFusion 中将表单值传递到填充查询参数而不刷新

ColdFusion cfautosuggestvalue 内容为空,即使从 cfc 返回了一个好的数组

html - 十六进制颜色代码倍数 #