【发布时间】:2013-06-19 18:37:05
【问题描述】:
我想知道是否有人对他们认为在冷融合中存储和访问自定义函数的最佳方式有什么想法。
我目前在做什么: 目前我有各种 CF 组件,我在其中存储相关功能。例如:
<cfcomponent displayname="Math">
<cffunction name="func1">
<!---Code--->
</cffunction>
<!---Function 2, Function 3, etc.---->
</cfcomponent>
然后当我需要在页面上使用它们时,我会执行以下操作
<cfset lv_math_obj = createobject("component","cfc.Math")>
<cfset variable = lv_math_obj.myFunction(parameter)>
我为什么喜欢它:上面的代码很容易阅读和理解,而且我的函数是预编译的!
为什么我不喜欢它: 对象不应该是相互独立工作的函数列表。
有没有人想到更好的方法来存储和访问自定义函数?
【问题讨论】:
-
还有
。您是否抱怨您有一堆 ,但没有一个读取或更改任何 ?还是函数真的是独立的,而您只是在寻找 OO 模式来存储独立函数? -
函数是预编译的吗?嗯,它们都是预编译的,即使你在 .cfm afaik 中定义了一个内联。
-
我已经看到它以多种方式完成 - 像您描述的 CFC,.cfm 包括实用程序.cfm 或 udf.cfm,以及 .cfm 本身。我更喜欢将它们放在单独的文件中以实现可重用性,但我不确定一种方式是否比另一种方式“更好”。
-
CFC 不一定表示“对象”。将 CFC 用作函数库是完全可以接受的用途。我经常有一个具有相关功能的 CFC,例如 Formatter.cfc,用于在应用程序中一致地格式化日期、时间等。此外,您所指的是用户定义函数(UDF)而不是“自定义函数”。 :D
标签: coldfusion