Coldfusion CFLint-全局变量警告

Coldfusion CFLint-全局变量警告,coldfusion,application.cfc,cflint,Coldfusion,Application.cfc,Cflint,我正在使用VS代码编辑器。我已经在我的编辑器上安装了CFLint。在Application.cfc上,我看到“Identifier this is global,应避免在cfc或函数中引用。cflintGLOBAL_VAR”消息,当我将鼠标移到此范围时 请详细解释一下。提前感谢。ColdFusion中的这个范围相当于Java的公共声明,即公共字段。您可以从任何地方读写这些变量,这通常是一件坏事,违反了OOP封装,不是线程安全的等等 对于ColdFusion中的组件类也是如此。然而,Applica

我正在使用VS代码编辑器。我已经在我的编辑器上安装了CFLint。在Application.cfc上,我看到“Identifier this is global,应避免在cfc或函数中引用。cflintGLOBAL_VAR”消息,当我将鼠标移到此范围时

请详细解释一下。提前感谢。

ColdFusion中的这个范围相当于Java的公共声明,即公共字段。您可以从任何地方读写这些变量,这通常是一件坏事,违反了OOP封装,不是线程安全的等等

对于ColdFusion中的组件类也是如此。然而,Application.cfc是一种特殊情况,在这种情况下,此linter警告没有任何意义,因为应用程序是由ColdFusion处理的单例,并且您无法封装驻留在其中的配置字段

结论:对于所有内置字段,忽略Application.cfc中的此消息,但在其他每个.cfc文件中都遵循此消息

您可能想这样做。

ColdFusion中的这个范围相当于Java的公共声明,即公共字段。您可以从任何地方读写这些变量,这通常是一件坏事,违反了OOP封装,不是线程安全的等等

对于ColdFusion中的组件类也是如此。然而,Application.cfc是一种特殊情况,在这种情况下,此linter警告没有任何意义,因为应用程序是由ColdFusion处理的单例,并且您无法封装驻留在其中的配置字段

结论:对于所有内置字段,忽略Application.cfc中的此消息,但在其他每个.cfc文件中都遵循此消息


您可能需要。

这里的区别是对对象当前实例的引用。当我转储它时,它会给出当前组件。我真的很困惑。你能指导我吗?CF组件中的这个范围基本上只是一个结构图。转储组件会显示此映射,因此您将能够看到所有公共字段和所有公共方法,包括init构造函数。请尝试structKeyArrayyourComponent来了解我的意思。另一方面,变量的作用域是私有访问。您将无法公开这些字段,除非您有一个返回变量的公共函数。顺便说一句,它也是一个结构。。不要被cfdump愚弄了,它在这些事情上往往很花哨,而实际上它要简单得多。这里的区别是对对象当前实例的引用。当我转储它时,它会给出当前组件。我真的很困惑。你能指导我吗?CF组件中的这个范围基本上只是一个结构图。转储组件会显示此映射,因此您将能够看到所有公共字段和所有公共方法,包括init构造函数。请尝试structKeyArrayyourComponent来了解我的意思。另一方面,变量的作用域是私有访问。您将无法公开这些字段,除非您有一个返回变量的公共函数。顺便说一句,它也是一个结构。。不要被cfdump所愚弄,它往往是围绕这些东西的幻想,而实际上它要简单得多。