Coldfusion 如何去掉没有局部作用域的Evaluate()(CF9之前)?
好的,这个函数没有意义,但我只是用它作为例子:Coldfusion 如何去掉没有局部作用域的Evaluate()(CF9之前)?,coldfusion,Coldfusion,好的,这个函数没有意义,但我只是用它作为例子: <cffunction name="blah"> <cfset var myFoo = 123> <cfset var varNamePrefix = "my"> <cfset var bar = Evaluate("#varNamePrefix#Foo")> <cfreturn bar> </cffunction> 有了CF9,我可以
<cffunction name="blah">
<cfset var myFoo = 123>
<cfset var varNamePrefix = "my">
<cfset var bar = Evaluate("#varNamePrefix#Foo")>
<cfreturn bar>
</cffunction>
有了CF9,我可以使用
local[“#varnameprifix#Foo”]
。CF7/8是否有办法摆脱Evaluate()
,而不使用var local=structNew()
重构整个过程?不是通过文档化的方式。在CF9之前,只有
不是通过记录的方式。在CF9之前,只有
当需要升级到CF9+时,我们需要取消该调用?我对其进行了测试,getActiveFunctionLocalScope仍然存在于9.0.1中。但是谁知道之后会发生什么呢。当升级到CF9+时,我们需要去掉这个调用?我对它进行了测试,getActiveFunctionLocalScope仍然存在于9.0.1中。但谁知道那之后会发生什么。
<cffunction name="blah">
<cfset var myFoo = 123>
<cfset var varNamePrefix = "my">
<!--- ie object.method()[keyName] syntax does not seem to be supported --->
<cfset var localScope = getPageContext().getActiveFunctionLocalScope()>
<cfset var bar = localScope["#varNamePrefix#Foo"]>
<cfreturn bar>
</cffunction>