CFOBJECT
CFOBJECT 实例化一个组件并为其创建一个变量。
<cfobject type="component" name="path.to.my.CFC" name="myCFC" />
CFINVOKE
CFINVOKE 然后可以引用由 CFOBJECT 创建的变量,因此它不必再次重新创建对象。
<cfinvoke component="#myCFC#" method="foo" returnVariable="myValue" />
因此,您可以在 #myCFC# 上调用任意数量的 CFINVOKE,而无需重新创建对象。
但是,如果您不使用 CFOBJECT,CFINVOKE 也可以为您隐式创建对象。
<cfinvoke component="path.to.my.CFC" method="foo" returnVariable="myValue" />
以这种方式调用多个函数每次都会重新创建对象。
创建对象
createObject() 的工作方式几乎相同。要么先用引用变量创建对象
<cfscript>
myCFC = createObject("component", "path.to.my.CFC");
myValue = myCFC.foo();
otherValue = myCFC.bar();
</cfscript>
或在每个函数调用中创建对象。
<cfscript>
myValue = createObject("component", "path.to.my.CFC").foo();
otherValue = createObject("component", "path.to.my.CFC").bar();
</cfscript>
我更喜欢createObject(),因为我一直在尽可能多地使用 CFSCRIPT。如果我要从中调用多个函数,我总是先创建对象。