Using CFApplication Inside Of ColdFusion's Application.cfc

Posted May 29, 2007 at 8:43 AM

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:

 Launch code in new window » Download code as text file »

  • <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:

 Launch code in new window » Download code as text file »

  • <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.

Download Code Snippet ZIP File

Post Comment  |  Ask Ben  |  Permalink  |  Print Page




Learning ColdFusion 9 - ColdFusion 9 tutorials, samples, examples, demos

Reader Comments

May 29, 2007 at 8:56 AM // reply »
204 Comments

Which is probably a good thing. ;)

I wonder what happens if you try the same code inside onRequestStart?


Apr 14, 2008 at 4:09 PM // reply »
31 Comments

I was just wondering the same thing so I tried it out. Moving the code to the OnRequestStart function works just fine.


Post Comment  |  Ask Ben

Recent Blog Comments
Nov 7, 2009 at 5:53 PM
Ask Ben: Javascript String Replace Method
You can find here an advanced function that prepared with javascript replace function. This can make the first letters of words, sentences, lines and whatever you define automatically: http://www.m ... read »
Andrew Neely
Nov 7, 2009 at 4:56 PM
A Moment That Touched Me - The Fountainhead
Ben, Glad you enjoyed the podcast. Yeah, the Tank Riot guys can get really chatty during the episodes, but that's part of the charm of it for me. They've covered everything from Nichola Tesla to Cha ... read »
Nov 7, 2009 at 4:43 PM
Building A Fixed-Position Bottom Menu Bar (ala FaceBook)
Is it possible to make some more MenĂ¼`s ? ... read »
Jill
Nov 7, 2009 at 11:40 AM
How To Unformat Your Code (Like A Pro)
Derek, I think you might be right - sweet! Thanks for the link :) ... read »
Nov 7, 2009 at 11:25 AM
How To Unformat Your Code (Like A Pro)
I think it would be way easier to just use this http://www.logichammer.com/html-formatter/ He just released v3 and it rocks. ... read »
Jill
Nov 7, 2009 at 7:58 AM
How To Unformat Your Code (Like A Pro)
LMAO - this was pretty funny! I have to admit - I also love to reformat code so I can read it. My boss used to tell me to leave my OCD at home. Now I don't feel so bad after reading everyone else' ... read »
Nov 6, 2009 at 10:10 PM
How To Unformat Your Code (Like A Pro)
The timing of this post is just uncanny. I spent the last 15-20 minutes manually un-formatting my "Ben Nadel" style code within a CFC of mine. I was really digging the readability a few weeks ago, bu ... read »
Roe
Nov 6, 2009 at 5:11 PM
Passing Arrays By Reference In ColdFusion - SWEEET!
ArraySort also reorders the results of these java obj's ... read »