确定ColdFusion函数是本机还是用户定义

时间:2016-08-29 16:05:36

标签: coldfusion

我正在编写一个实用程序,它将解析CF代码并识别在编写测试时需要模拟的函数。为了使"应该被嘲笑" list不包括我需要能够识别它们的本机CF函数。

我宁愿不维护要检查的本机函数列表。到目前为止我唯一提出的解决方案是使用getMetaData并仅包含该方法找到的内容。这是非常少的代码,肯定会有效,但我想知道是否有一个更简单的方法,而且开销更低。

示例:

<cffunction name="foo">
  <cfset LTrim("  spaces!") />
  <cfset myFunction(42) />
</cffunction>

我在这里解析并查看LTrimmyFunction,并想知道每个人是否是同一组件中的原生CF或UDF。

1 个答案:

答案 0 :(得分:14)

您可以使用getFunctionList()它返回一个结构,其中每个键都是引擎支持的内置函数的名称。自CF4.5以来一直存在,并且也在Railo / Lucee上工作。