什么是祖先组件变量的最佳范围

时间:2012-01-16 08:29:44

标签: variables coldfusion scope

我正在编写一个应该用作其他组件的祖先的组件,我不确定变量的最佳变量范围是什么,它应该仅在我的组件及其继承中可用。

像Pascal这样的其他编程语言有一个“受保护”的访问规则可以完成这项工作,但我是CF的新手,还不知道他们的吊坠是什么。

1 个答案:

答案 0 :(得分:2)

ColdFusion没有受保护的范围。只有组件本身及其扩展组件才能访问变量范围。变量范围是您的最佳选择。

示例:

组件A:

component  output="false"
{
    variables.name = "John";
}

组件B(扩展ComponentA):

component  extends="ComponentA" output="false"
{

    remote void function test(){
        writeDump(variables.name);
    }
}

new ComponentB()。test();将转储“约翰”;

从组件外部访问变量范围会引发错误:
writeDump(b.name);writeDump(a.name);会抛出错误(名称未定义)