User Guide

Table Of Contents
124 Chapter 6: Extending ColdFusion Pages with CFML Scripting
In addition to variable setting, other operations tend to be slightly faster in CFScript than in tags.
ColdFusion 5 and later releases let you use CFScript to create user-defined functions, or UDFs
(also known as custom functions). You call UDFs in the same manner that you call standard
ColdFusion functions. UDFs are to ColdFusion built-in functions what custom tags are to
ColdFusion built-in tags. Typical uses of UDFs include data manipulation and mathematical
calculation routines.
You cannot include ColdFusion tags in CFScript. However, a number of functions and CFScript
statements are equivalent to commonly used tags. For more information, see “CFScript
functional equivalents to ColdFusion tags” on page 127.
Comparing tags and CFScript
The following examples show how you can use CFML tags and CFScript to do the same thing.
Each example takes data submitted from a form and puts it in a structure; if the form does not
have a last name and department field, it displays a message.
Using CFML tags
<cfif IsDefined("Form.submit")>
<cfif (Form.lastname NEQ "") AND (Form.department NEQ "")>
<cfset employee=structnew()>
<cfset employee.firstname=Form.firstname>
<cfset employee.lastname=Form.lastname>
<cfset employee.email=Form.email>
<cfset employee.phone=Form.phone>
<cfset employee.department=Form.department>
<cfoutput>
Adding #Form.firstname# #Form.lastname#<br>
</cfoutput>
<cfelse>
<cfoutput>
You must enter a Last Name and Department.<br>
</cfoutput>
</cfif>
</cfif>
Using CFScript
<cfscript>
if (IsDefined("Form.submit")) {
if ((Form.lastname NEQ "") AND (Form.department NEQ "")) {
employee=StructNew();
employee.firstname=Form.firstname;
employee.lastname=Form.lastname;
employee.email=Form.email;
employee.phone=Form.phone;
employee.department=Form.department;
WriteOutput("Adding #Form.firstname# #Form.lastname# <br>");
}
else
WriteOutput("You must enter a Last Name and Department.<br>");
}
</cfscript>