gpt4 book ai didi

coldfusion - 使用 cfinvoke 和 createObject 运行组件函数有什么区别?

转载 作者:行者123 更新时间:2023-12-03 17:40:40 25 4
gpt4 key购买 nike

在我公司的代码中,我经常看到通过初始化该组件的对象并调用该对象的方法来使用组件文件。但是,在我看来,使用 cfinvoke 方法更直接一些,尤其是在仅使用组件文件中的一种方法时。这两种调用组件函数的方法之间有什么区别,每种方法的优缺点是什么?我什么时候应该使用哪个?

最佳答案

使用 createObject() 的另一个好处是你可以链接init()方法,例如

<cfset myObject = createObject("com.path.MyObject").init() />

如果您的 init()返回 this如果您不需要再次使用该对象,您可以进一步链接该方法:
<cfset functionResults = createObject("com.path.MyObject").init().myFunction() />

值得指出的是,在 CF 9 中你可以使用新的(咳咳) new创建对象的语法。例如,创建与上面相同的对象并将其命名为 init()我可以写:
<cfset myObject = new com.path.MyObject() />

它很整洁,我喜欢这样做的选择。在我看来,CF 正朝着正确的方向发展,具有这样的功能。

关于coldfusion - 使用 cfinvoke 和 createObject 运行组件函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4605746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com