我正在使用VS Code编辑器。而且我已经在编辑器上安装了CFLint。当我将鼠标悬停在此作用域上时,在Application.cfc上看到“此标识符为全局标识符,应避免在CFC或函数中进行引用。cflint(GLOBAL_VAR)”消息。
请对此进行详细说明。预先感谢。
答案 0 :(得分:4)
ColdFusion中的this
范围等效于Java的public <type> <variable>
声明,也称为“公共字段”。您可以在任何地方读取和写入这些变量,这通常是一件坏事(违反OOP封装,不安全)。
对于ColdFusion中的组件(类)也是如此。但是,Application.cfc
是一种特殊情况,因为“应用程序”是ColdFusion处理的一个单例,并且您不能封装驻留在this
中的配置字段,因此这种林特警告毫无意义。 >
结论:对于所有内置字段,在Application.cfc
中忽略此消息,但在每个其他.cfc
文件中关注此消息。