coldfusion 字符串到函数或动态 cfc

coldfusion string to function or dynamic cfc

我正在开发一个代码生成项目,我想动态创建具有功能的结构。我发现您可以为结构定义函数,但我想动态生成名称、return 值以及函数内部的任何语句。我认为字符串可以让我这样做,但我不知道如何将字符串转换为函数。这样可以吗,如果不行,是否可以动态生成一个CFC?

<cfset j = structnew()>
<cfset j.test = evaluate('function(){ return "test"; }')>
<cfdump var="#j#">
<cfabort>

您可以像动态创建 .cfm 一样动态创建 .cfc。

第 1 步 - 将文件内容创建为字符串变量。

第 2 步 - 使用 cffile 写入文件。

第 3 步 - 将文件放入您的页面。对于 .cfm 文件,这将是一个 <cfinclude> 标签。对于 .cfc 文件,可能是一个 createObject (function)

第 4 步 - 使用文件中的代码。

第 5 步 - 删除文件。