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

时间:2020-03-06 14:19:12  来源:igfitidea点击:

通常,我们使用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";
}