View comments | RSS feed

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.

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

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

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

Client variables

The following client variables are read-only:

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.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. 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 infomation, see "cflock".

The predefined application and session variables are as follows:

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

Custom tag variables

A ColdFusion custom tag returns the following variables:

ThisTag.ExecutionMode
ThisTag.HasEndTag
ThisTag.GeneratedContent
ThisTag.AssocAttribs[index]

A custom tag can set a Caller variable to provide information to the caller. The Caller variable is set as follows:

<cfset Caller.variable_name = "value">

The calling page can access the variable with the cfoutput tag, as follows:

<cfoutput>#Caller.variable_name#</cfoutput>

Request variable

Request variables store data about the processing of one page request. Request variables store data in a structure that can be passed to nested tags, such as custom tags, and processed once.

To provide information to nested tags, set a Request variable, as follows:

<CFSET Request.field_name1 = "value">
<CFSET Request.field_name2 = "value">
<CFSET Request.field_name3 = "value">
...

Each nested tag can access the variable with the cfoutput tag, as follows:

<CFOUTPUT>#Request.field_name1#</CFOUTPUT>

Form variable

ColdFusion supports the Form variable FieldNames. FieldNames returns the names of the fields on a form. You use it on the action page associated with a form, as follows:

Form.FieldNames

ColdFusion 9 | ColdFusion 8 | ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX | Forums | Developer Center | Bug Reporting

Version 6

Comments are no longer accepted for ColdFusion MX. ColdFusion 8 is the current version.

Comments


timetime said on Sep 6, 2002 at 3:31 PM :
In the paragraph II of this page, "shared shared data" should be "shared data"
jochemd said on Dec 10, 2002 at 8:09 AM :
Missing documentation on the "this" scope.
Swell said on Jul 18, 2003 at 2:14 AM :
There's nothing on the URL scope/object.
I want to be able to access the passed URL, the way you can easily in ASP pages.
shp.jc said on Sep 6, 2003 at 2:32 PM :
Under "Custom tag variables" it says,
The calling page can access the variable with the cfoutput tag, as follows:

<cfoutput>#Caller.variable_name#</cfoutput>


That is a typo. The calling page would reference it as
<cfoutput>#variable_name#</cfoutput>
Anubis^HH said on Sep 29, 2003 at 4:18 AM :
I need further information about scopes.
this information is not enough by any means.
is there a unified scope for FORM + URL?
in PHP the REQUEST scope has both variables from POST + GET
is there anything similiar in CF?

what's the REQUEST scope in CF? i need to better understand it, where can i read about it?
No screen name said on Oct 13, 2003 at 9:19 PM :
In the variable scope example should be <CFSET linguist = "Chomsky">?
No screen name said on Feb 16, 2004 at 11:19 AM :
How does cold fusion handle file form types? Where does it hold a file that is uploaded (the buffer or a temp directory)? What information can I get such as file size, mime type, etc. from the variable? PHP specifically has $_FILE['myFile'] for handling file uploads and the like so what is the cold fusion equivalant. (btw I have only had great experiences with cold fusions developers so this is not a troll :)

 

RSS feed | Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/coldfusion/6/CFML_Reference/Expressions2.htm