在ColdFusion 8中,您可以使用cfscript将函数声明为私有吗?

Rya*_*lle 4 coldfusion coldfusion-8

通常你使用cfscript创建一个函数,如:

<cfscript>
    function foo() { return "bar"; }
</cfscript>
Run Code Online (Sandbox Code Playgroud)

有没有办法将它声明为私有函数,只能用于同一个cfc中的其他方法?

我知道你可以用标签做到:

<cffunction name="foo" access="private">
    <cfreturn "bar">
</cffunction>
Run Code Online (Sandbox Code Playgroud)

但我不想重写已经用cfscript编写的这个大函数.

Pet*_*ton 15

不在ColdFusion 8.但是它被添加到CF9中.

您不需要重写整个函数,您可以这样做:

<cffunction name="foo" returntype="string" output="false" access="private">
    <cfscript>
        return "bar";
    </cfscript>
</cffunction>
Run Code Online (Sandbox Code Playgroud)

如果您有权访问CF9,则新语法为:

private string function foo() output="false" {
    return "bar";
}
Run Code Online (Sandbox Code Playgroud)