This is KEY! Event handlers in ColdBox are cached by default so no unnecessary object creations occur. Therefore, your code within the event handler functions MUST be thread safe and var scoped. This is essential and key for ANY framework or ANY ColdFusion Component declaration, ALWAYS ALWAYS var scope. I cannot stress the importance of having to var scope your ColdFusion component method calls. I see this time and time again and we need to educated ourselves about it and also create a habit of ALWAYS var scoping our variables within function declarations. What do you think?
Blog
This is KEY! Event handlers in ColdBox are cached by default so no unnecessary object creations occur. Therefore, your code within the event handler functions MUST be thread safe and var scoped. This is essential and key for ANY framework or ANY ColdFusion Component declaration, ALWAYS ALWAYS var scope. I cannot stress the importance of having to var scope your ColdFusion component method calls. I see this time and time again and we need to educated ourselves about it and also create a habit of ALWAYS var scoping our variables within function declarations. What do you think?
Recent Entries
Into the Box Sessions Round 2 is now Out!
Into the Box 2026 is shaping up to be our most dynamic event yet! Building on the momentum of our first release, we are thrilled to announce the second round of sessions for this year's conference.
As the ecosystem continues to evolve, teams are balancing the realities of maintaining critical legacy applications while adopting modern tools, architectures, and practices. Into the Box has always been about meeting developers where they are and giving them practical paths to what’s next.
Why UK Financial Institutions are reassessing ColdFusion Licensing
Rising ColdFusion Licensing Costs, Oracle JVM Risk and Financial Exposure in the United Kingdom
Across the United Kingdom, many financial institutions continue to rely on legacy Adobe ColdFusion (ACF) platforms to power internal banking systems, insurance portals, reporting tools, and regulatory workflows.
For years, these systems were stable and cost-effective.
Today, however, Adobe ColdFusion licensing costs
In-House Development vs. Staff Augmentation: The Cost-Effective Solution for Your Business
As businesses grow, the decision between hiring in-house developers or opting for staff augmentation becomes critical. At Ortus Solutions, we understand the financial implications and provide a clear, cost-effective alternative for your web development needs.
Add Your Comment
(3)
Sep 24, 2010 17:49:38 UTC
by Adrian J. Moreno
A few links with more information on var scoping: My blog: http://www.iknowkungfoo.com/blog/index.cfm/2007/8/22/Object-Oriented-Coldfusion--4--The-var-scope Dave Shuck: http://daveshuck.instantspot.com/blog/2006/11/28/Thread-safety-example--Var-scope-your-loop-index-in-ColdFusion-CFCs Tyson Vanek: http://www.webapper.net/index.cfm/2007/2/9/The-REAL-reason-you-need-to-varscope-your-local-CFC-function-variables
Sep 30, 2010 10:28:54 UTC
by Allen
Not to be trite but the var keyword is a keyword, not a scope. Most of know that but I'd hate to see a newbie get confused. Do you have some example code for a handler or controller that would help illustrate this? And is there any reason if we're running CF9 why we shouldn't use the local scope in these situations? TIA!
Sep 30, 2010 10:35:10 UTC
by Luis Majano
@Allen, In cf9 you don't have to var scope if you use the local scope as that puts the variables in the local function scope. To me that is a matter of preference, like what color you like? They both achieve the same results. Some example handler code of NOT var scoping: function doThis(event){ rc = event.getCollection(); rc.data = service.getData(); }