User Guide

cfset 319
Function local variables
The var keyword specifies that the variable being defined is only available inside the body of a
function that you define using the
cffunction tag. The variable value that is set in one
invocation of the function is not available in any other invocation of the function. The
var
keyword is the equivalent of the
var statement in CFScript. The following rules apply to the var
keyword:
Any cfset tag that uses the var keyword must be inside the body of a cffunction tag. If you
use the
var keyword in a cfset tag outside a cffunction tag body, ColdFusion displays an
error message.
You must place all cfset tags that use the var keyword at the beginning of the cffunction
tag body, before any other ColdFusion tags.
The following example shows how to use the new keyword:
<cffunction name="myFunct">
<cfset var myVar = "This is a test">
<cfreturn myVar & " Message.">
</cffunction>
<cfoutput>#myFunct()#</cfoutput>
In this example, the variable myVar exists only when the function myFunct executes, and it is not
available elsewhere on the ColdFusion page.
COM objects
In this example, a COM object is created. A cfset defines a value for each method or property in
the COM object interface. The last
cfset creates a variable to store the return value from the
COM object's
SendMail method.
<cfobject action = "Create"
name = "Mailer"
class = "SMTPsvg.Mailer">
<cfset MAILER.FromName = form.fromname>
<cfset MAILER.RemoteHost = RemoteHost>
<cfset MAILER.FromAddress = form.fromemail>
<cfset MAILER.AddRecipient("form.fromname", "form.fromemail")>
<cfset MAILER.Subject = "Testing cfobject">
<cfset MAILER.BodyText = "form.msgbody">
<cfset Mailer.SMTPLog = "logfile">
<cfset success = MAILER.SendMail()>
<cfoutput> #success# </cfoutput>
Example
<!--- This example shows how to use cfset --->
<cfquery name = "GetMessages" dataSource = "cfsnippets">
SELECT *
FROM Messages
</cfquery>
<h3>cfset Example</h3>
<p>cfset sets and reassigns values to local or global variables within a page.
<cfset NumRecords = GetMessages.recordCount>
<p>For example, the variable NumRecords has been declared on this
page to hold the number of records returned from query
(<cfoutput>#NumRecords#</cfoutput>).