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

<cfscript>
    function foo() { return "bar"; }
</cfscript>


有没有一种方法可以将此声明为私有函数,仅对同一cfc中的其他方法可用?

我知道您可以使用标签来做到这一点:

<cffunction name="foo" access="private">
    <cfreturn "bar">
</cffunction>


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

最佳答案

但是,不在ColdFusion 8中。它是在CF9中添加的。

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

<cffunction name="foo" returntype="string" output="false" access="private">
    <cfscript>
        return "bar";
    </cfscript>
</cffunction>


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

private string function foo() output="false" {
    return "bar";
}

10-04 15:35