I'm in the process of upgrading a large legacy ColdFusion application that heavily utilizes Application.cfm
template files instead of the newer Application.cfc
files.
It seems that Application.cfc
offer a cleaner more efficient solution to everything that a Application.cfm file can do.
Application.cfm
runs every line sequentially for every request, so
it would recreate application variables on every subsequent new page query.
(Can cause performance hit if many
application variables loaded) The Application.cfc
allows for certain truely global variables to avoid getting recreated with the onApplicationStart()
and onRequestStart()
method Has anyone come across any use cases/examples(apart from the obvious time it takes to port) where Application.cfm
pages are preferable to Application.cfc
Names the application, enables Client and Session scope variables, and sets the client variable store to the myCompany data source. Ensures that debugging output is not displayed, if the ColdFusion Administrator enables it.
cfc. Defines application level variables and event handlers (functions invoked at various application lifecycle events).
IMO, this is not "too broad" a topic. This isn't an opinion, I'd classify it as a Best Practice.
There are vast number of reasons to use the cfc
over the cfm
. I've been in this exact situation.
Here's a list of the common functions available in Application.cfc
(I'm sure you're aware):
Without getting into the details of each, having the ability to sort your code into contextual buckets like these will allow you to better manage your various variable scopes. Without these contextual triggers, you're just replying on the procedural aspects of the Application.cfm
.
While both are run on every page request, only certain functions in the cfc
are run. The cfm
, you have code running all the time, checking conditions for when it should or should not be run.
Sticking with the cfm
is certainly less risky, but if you're upgrading it, you should expect that you'll break things along the way. Adopting best practices should be part of this process.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With