Skip to main content
Ben Nadel
On User Experience (UX) Design, JavaScript, ColdFusion, Node.js, Life, and Love.

Using CFApplication Inside Of ColdFusion's Application.cfc

By Ben Nadel on
Tags: ColdFusion

Last week, I gave a Nylon Technology presentation on ColdFusion's Application.cfc component. While giving the presentation, it occurred to me - if Application.cfc is a component just like any other and it really just defines a ColdFusion application, I wonder what would happen if you use ColdFusion's CFApplication tag inside of the Application.cfc. To test this, I set up a very simple Application.cfc:

<cfcomponent>

	<!--- Define application. --->
	<cfapplication
		name="CFApp In AppCFC"
		/>

	<!--- Define page settings. --->
	<cfsetting
		requesttimeout="5"
		/>


	<!---
		Set an application variable just to be
		able to echo something out in our CFDump.
	--->
	<cfset APPLICATION.CFAppTest = "Interesting" />

</cfcomponent>

The Application.cfc does not contain anything Application.cfc-related; it acts merely as a container for the CFApplication tag. It then uses a standard CFSetting tag and attempts to set an APPLICATION variable that we would echo in a later CFDump.

Then, in index page, all I am doing is CFDumping out the APPLICATION scope:

<cfdump
	var="#APPLICATION#"
	label="CFApplication Test"
	top="10"
	/>

Running this page throws the following ColdFusion error:

5 >= 0

Not one of ColdFusion's most intuitive errors (something similar to what is seen when using CFQueryParam and cached database structures), but since I was testing something very specific, I knew what caused it. Apparently, you cannot use the ColdFusion's old CFApplication inside of its new Application.cfc component.



Reader Comments