对ColdFusion语法感到困惑(引号和井号)

时间:2014-06-03 17:22:12

标签: coldfusion

我对两种不同的语法风格感到困惑,并想知道哪一种被认为是ColdFusion的优秀编程实践。

在第一个示例中,returnvariable未使用双引号。 CFSET变量也不是:

<cfinvoke component="#UserObj#" method="MyMethod" 
       username="#MyUserName#" 
       Returnvariable= ReturnVar><!--- No double quotes --->

<!--- No double quotes & no pound signs --->
<cfset session.userright = ReturnVar>

在第二个示例中,代码,使用Returnvariable和CFSET的双引号。第一个设置为ReturnVar,而另一个使用双引号和井号"#RetunsVar#"

<cfinvoke component="#UserObj#" method="MyMethod" 
       username="#MyUserName#" 
       Returnvariable= "ReturnVar"><!--- using double quotes  --->

<!--- using double quotes & pound signs --->
<cfset session.userright = "#ReturnVar#">

看起来我可以同时使用这两种样式,哪一种都可以使用?

1 个答案:

答案 0 :(得分:5)

如果您正在寻找良好的编程习惯,首先应该不使用cfinvoke

如果您使用的是ColdFusion 9或更高版本,则可以使用以下语法。

<cfset userObj = new UserObj()>
<cfset returnVar = userObj.MyMethod(MyUserName)>
<cfset session.userright = returnVar>

或者您可以通过消除变量的额外设置来进一步简化

<cfset userObj = new UserObj()>
<cfset session.userright = userObj.MyMethod(MyUserName)>

设置变量时无需使用"#。我还建议不要使用名为retVarreturnVarsomethingThatDoesn'tExplainWhatItIs的任何类型的变量

相关问题