2014-05-22 1 views
2

Application.cfc에 정의 된이 범위를 명시 적으로 참조 할 수있는 방법이 있습니까? ColdFusion에서 Application.cfc에 정의 된 "THIS"범위를 어떻게 명시 적으로 참조합니까?

내가이 같은 Application.cfc을 가지고 말 :

component { 
this.name="MyApplication" 
.. 

내가 사이트의 모든 페이지에서, 당신은 this.name이 방법으로 액세스 할 수 있다는 것을 알고 ...

<cfoutput>#this.name#</cfoutput> 

합니다. 그러나 다른 구성 요소에 있다면 Application.cfc의 "this"범위에 어떻게 도달합니까? var를 전달하지 않고도 가능합니까?

Adobe 설명서에서는 인스턴스 또는 개체 이름을 접두어로 사용하여 "THIS"범위를 참조 할 수 있다고 말합니다. Application.this.name 시도했지만 작동하지 않았다.

+0

짐작 하겠지만, 또는 CreateObject()를 사용하여 개체를 만드는 것으로 시작한다고 생각합니다. –

+2

'application.name'을 (를) 사용해 보셨습니까? –

+0

다른 예제를 사용해야한다고 생각합니다. 질문은 특별히 이름을 알지 못하는 범위 액세스에 관한 것입니다. –

답변

6

Application.cfc에서 "this"로 설정된 대부분의 항목은 실행 이외의 다른 항목에 액세스 할 수 없습니다. ColdFusion은 this.name을 런타임에 application.name에 복사하므로 응용 프로그램의 어느 곳에서나 application.name에 액세스 할 수 있습니다. "this"의 다른 설정은 페이지가 OnRequest() 메서드에 의해 application.cfc 실행주기에 포함되므로 페이지에서 액세스 할 수있는 것으로 보입니다.

CFC를 인스턴스화하고 그 내부에서 작업하면 "this"의 컨텍스트가 해당 CFC의 생성자로 변경됩니다.

+0

아름답게 말했다! – Sanjeev

관련 문제