我正在开发一个代码生成项目,我想动态创建具有功能的结构。我发现你可以为struct定义函数,但我想动态生成函数内的名称,返回值和任何语句。我想一个字符串可以让我这样做,但我无法弄清楚如何将字符串转换为函数。这是否可能,如果没有,是否可以动态生成CFC?
<cfset j = structnew()>
<cfset j.test = evaluate('function(){ return "test"; }')>
<cfdump var="#j#">
<cfabort>
答案 0 :(得分:2)
您可以动态创建.cfc,就像动态创建.cfm一样。
步骤1 - 将文件内容创建为字符串变量。
第2步 - 使用cffile写入文件。
第3步 - 将文件带入您的页面。使用.cfm文件,这将是<cfinclude>
标记。使用.cfc文件,可能是createObject(函数)
第4步 - 使用文件中的代码。
第5步 - 删除文件。