这个ColdFusion声明中的#是什么意思?

1 coldfusion

我试图更好地理解coldfusion只是为了解决一个小问题.但对于我的生活,我找不到这意味着什么

<cfoutput query="manufactureList">#manufacturer_name#</cfoutput>
Run Code Online (Sandbox Code Playgroud)

我知道这是引用名为manfatureList的查询,但是#manufacturer_name#是一个变量吗?

Rob*_*hle 7

你所拥有的是一个写得不好的代码块.

要回答您的问题,哈希内部的任何内容都是ColdFusion变量.当您打算输出值时,需要使用哈希值.

你发布的这个语句的问题是开发人员让你假设manufacturer_name是manufacturerList查询的一部分,这可能是安全的假设,但是编码实践可怕.您应始终将所有变量作为范围,原因有两个:

  1. 可读性和可维护性.如果他们这样做了你可能不必在这里发一个问题.
  2. 范围变量意味着ColdFusion不必遍历各种范围以确定此变量所处的范围.这可以提高应用程序的性能.对于某些范围,没有确定对变量的调用将意味着您的代码将无法找到它.这里的查询变量不是这样,但是对于其他结构中的变量会发生.