Про деякі особливості Application.cfc

Не всі розробники задумуються над тим, що Application.cfc це не тільки Application, але й повноцінна CFC. Використання її саме у якості компоненти дає кілька цікавих можливостей.

Наприклад, розглянемо таку просту компоненту:

<cfcomponent output="false">

<cfset this.name = "application_introspect" />
<cfset this.foo = "bar" />

<cffunction name="onRequestStart" returnType="boolean" output="false">
<cfargument name="thePage" type="string" required="true">
<cfset application.thePage = arguments.thePage />
<cfreturn true />
</cffunction>

</cfcomponent>

 

А тепер спробуємо використати її.

<cfdump var="#Application#" >

<p>&nbsp;</p>

<cfset test = CreateObject("component", "Application") />
<!--- CF9 way
<cfset test= new Application() />
--->
<cfdump var="#test#">

<cfset test.onRequestStart("introspect.cfm") />

<p>&nbsp;</p>

<cfdump var="#Application#">

 

Таким нехитрим способом можна робити дві речі:

  1. Подивитися що всередині об'єкту Application (на прикладі this.foo).

  2. Зручно маніпулювати Application scope.

 

Результат роботи вищевказаного коду виглядатиме так:

 

Автор: Сергій Галашин | Опубліковано: 06.09.2009 о 09:09 | Категорії: CFML - ColdFusion 8 - Gotchas -

Відгуки