2017-10-20 11 views
0

코드 생성 프로젝트에서 기능을 사용하여 구조체를 동적으로 만들고 싶습니다. 구조체에 대한 함수를 정의 할 수 있다는 것을 알았지 만 이름, 반환 값 및 함수 내부의 모든 문을 동적으로 생성하려고합니다. 문자열을 사용하여이 작업을 수행 할 수 있다고 생각했지만 문자열을 함수로 변환하는 방법을 알 수 없습니다. 이것이 가능한지, 그렇지 않다면 CFC를 동적으로 생성 할 수 있습니까?coldfusion 함수 또는 동적 cfc 문자열

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

나는이 접근법을 좋아하지 않는다. 나는 기능이 존재하는 곳과 밖이되는 이유가 없습니다. 나는 보통 변수가 변하지 만 기능은 아니라고 생각한다. –

+1

@JamesAMohler 함수가 자주 변경되지는 않지만 함수를 정의하는 공통 구조를 사용하는 것은 아닙니다. IE는 json 객체 내부에서 함수 정보를 정의한 다음 javascript, coldfusion, C# 또는 원하는 다른 언어로 동일한 함수를 생성 할 수 있습니다 (해당 언어에 대한 생성기를 작성한 경우). – Silas

답변

2

동적으로 .cfm을 만들 수있는 것과 같은 방법으로 .cfc를 동적으로 만들 수 있습니다.

1 단계 - 파일 내용을 문자열 변수로 만듭니다.

2 단계 - cffile을 사용하여 파일을 씁니다.

3 단계 - 파일을 페이지로 가져 오십시오. .cfm 파일을 사용하면 <cfinclude> 태그가됩니다. .cfc 파일을 사용하면 아마도 createObject (함수)

4 단계 - 파일에서 코드를 사용하십시오.

5 단계 - 파일을 삭제하십시오.