我正在编写一个应该用作其他组件的祖先的组件,我不确定变量的最佳变量范围是什么,它应该仅在我的组件及其继承中可用。
像Pascal这样的其他编程语言有一个“受保护”的访问规则可以完成这项工作,但我是CF的新手,还不知道他们的吊坠是什么。
答案 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);
会抛出错误(名称未定义)