Scope-specific built-in variables



ColdFusion returns variables, such as those returned in a cfdirectory or cfftp operation. A variable is usually referenced by scoping it according to its type: naming it according to the code context in which it is available; for example, Session.varname, or Application.varname. For more information on ColdFusion scopes, see Using ColdFusion Variables in the Developing ColdFusion Applications

You use the cflock tag to limit the scope of CFML constructs that modify shared data structures, files, and CFXs, to ensure that modifications occur sequentially. For more information, see cflock, and Using Persistent Data and Locking in the Developing ColdFusion Applications.

Variable scope

ColdFusion supports the Variables scope. Unscoped variables created with the cfset tag acquire the Variables scope by default. For example, the variable created by the statement <CFSET linguist = Chomsky> can be referenced as#Variables.linguist#.

Caller scope

History

ColdFusion MX: The Caller scope is accessible as a structure. (In earlier releases, it was not.)

Client variables

The following client variables are reserved:

Client.CFID 
Client.CFToken 
Client.HitCount 
Client.LastVisit 
Client.TimeCreated 
Client.URLToken

Server variables

Use the Server prefix to reference server variables, as follows:

Server.ColdFusion.ProductName 
Server.ColdFusion.ProductVersion 
Server.ColdFusion.ProductLevel  
Server.ColdFusion.SerialNumber  
Server.ColdFusion.SupportedLocales 
Server.ColdFusion.AppServer 
Server.ColdFusion.Expiration 
Server.ColdFusion.RootDir 
Server.OS.Name  
Server.OS.AdditionalInformation  
Server.OS.Version  
Server.OS.BuildNumber

Application and session variables

To enable application and session variables, use the cfapplication tag or Application.cfc. Reference them as follows:

Application.myvariable 
Session.myvariable

To ensure that modifications to shared data occur in the intended sequence, use the cflock tag. For more information, see cflock.

ColdFusion provides the following predefined application and session variables:

Application.ApplicationName 
Session.CFID 
Session.CFToken 
Session.URLToken