Catalog / CFML Cheatsheet

CFML Cheatsheet

A quick reference guide to ColdFusion Markup Language (CFML), covering syntax, data types, control structures, functions, and more.

CFML Basics

Syntax Fundamentals

Tags

CFML uses tags (similar to HTML) to define code blocks.

Example:

<cfoutput>Hello, World!</cfoutput>

Variables

Variables are dynamically typed and declared using <cfset> or <cfparam>.

Example:

<cfset myVariable = "Some Value">
<cfparam name="anotherVariable" default="Default Value">

Comments

Single-line and multi-line comments are supported.

Example:

<!--- This is a single-line comment --->
<cfscript>
 /*
  This is a multi-line
  comment.
 */
</cfscript>

Output

The <cfoutput> tag is used to display content.

Example:

<cfoutput>The value of myVariable is: #myVariable#</cfoutput>

CFScript

CFScript allows you to write CFML code using a scripting syntax (similar to JavaScript).

Example:

<cfscript>
  name = "John";
  writeOutput("Hello, " & name);
</cfscript>

Data Types

CFML supports various data types including String, Numeric, Boolean, Date, Array, and Struct.

Example:

<cfset myNumber = 123>
<cfset myBoolean = true>
<cfset myDate = now()>

Variable Scopes

Application

Variables available throughout the entire application.

Example:

<cfapplication name="MyApp" sessionmanagement="true">
<cfset application.myVar = "Application Value">

Session

Variables specific to a user’s session.

Example:

<cfset session.user_id = 123>

Request

Variables available during a single request.

Example:

<cfset request.pageTitle = "Home Page">

Server

Variables available throughout the entire server.

Example:

<cfset server.db_connection = "DSN=MyDatabase">

Client

Variables stored on the client’s machine (usually via cookies).

Example:

<cfset client.username = "johndoe">

Local

Variables available within a specific function or component.

Example:

<cffunction name="myFunc">
  <cfset var localVar = "Function Value">
</cffunction>

Control Structures

Conditional Statements

<cfif>

Basic conditional statement.

Example:

<cfif myVariable EQ "Some Value">
  <cfoutput>Condition is true.</cfoutput>
<cfelse>
  <cfoutput>Condition is false.</cfoutput>
</cfif>

<cfelseif>

Used for multiple conditions.

Example:

<cfif score GTE 90>
  <cfoutput>A</cfoutput>
<cfelseif score GTE 80>
  <cfoutput>B</cfoutput>
<cfelse>
  <cfoutput>C</cfoutput>
</cfif>

<cfswitch>

Switch statement for multiple cases.

Example:

<cfswitch expression="#myVariable#">
  <cfcase value="Value1">
    <cfoutput>Case 1</cfoutput>
  </cfcase>
  <cfcase value="Value2">
    <cfoutput>Case 2</cfoutput>
  </cfcase>
  <cfdefaultcase>
    <cfoutput>Default Case</cfoutput>
  </cfdefaultcase>
</cfswitch>

Looping Structures

<cfloop index="i" from="1" to="10">

Numeric loop.

Example:

<cfloop index="i" from="1" to="10">
  <cfoutput>#i# </cfoutput>
</cfloop>

<cfloop array="myArray" index="item">

Looping through an array.

Example:

<cfset myArray = ["A", "B", "C"]>
<cfloop array="#myArray#" index="item">
  <cfoutput>#item# </cfoutput>
</cfloop>

<cfloop query="myQuery">

Looping through a query result.

Example:

<cfquery name="myQuery" datasource="myDSN">
  SELECT id, name FROM users
</cfquery>
<cfloop query="myQuery">
  <cfoutput>#myQuery.id# - #myQuery.name#<br></cfoutput>
</cfloop>

<cfloop condition="i LTE 10">

Conditional loop.

Example:

<cfset i = 1>
<cfloop condition="i LTE 10">
  <cfoutput>#i# </cfoutput>
  <cfset i = i + 1>
</cfloop>

<cfloop list="myList" index="item" delimiters=",">

Looping through a list.

Example:

<cfset myList = "A,B,C">
<cfloop list="#myList#" index="item" delimiters=",">
  <cfoutput>#item# </cfoutput>
</cfloop>

Exception Handling

<cftry> and <cfcatch>

Exception handling block.

Example:

<cftry>
  <cfset result = 10 / 0>
  <cfcatch type="Any">
    <cfoutput>Error: #cfcatch.message#</cfoutput>
  </cfcatch>
</cftry>

Functions

String Functions

UCase(string)

Converts a string to uppercase.

Example:

<cfset myString = "hello">
<cfoutput>#UCase(myString)#</cfoutput>  <!--- Output: HELLO --->

LCase(string)

Converts a string to lowercase.

Example:

<cfset myString = "HELLO">
<cfoutput>#LCase(myString)#</cfoutput>  <!--- Output: hello --->

Left(string, count)

Returns the leftmost characters of a string.

Example:

<cfset myString = "ColdFusion">
<cfoutput>#Left(myString, 4)#</cfoutput>  <!--- Output: Cold --->

Right(string, count)

Returns the rightmost characters of a string.

Example:

<cfset myString = "ColdFusion">
<cfoutput>#Right(myString, 6)#</cfoutput>  <!--- Output: Fusion --->

Mid(string, start, count)

Extracts a substring from a string.

Example:

<cfset myString = "ColdFusion">
<cfoutput>#Mid(myString, 5, 4)#</cfoutput>  <!--- Output: Fusi --->

Len(string)

Returns the length of a string.

Example:

<cfset myString = "ColdFusion">
<cfoutput>#Len(myString)#</cfoutput>  <!--- Output: 10 --->

Find(substring, string)

Returns the starting position of a substring within a string.

Example:

<cfset myString = "ColdFusion">
<cfoutput>#Find("Fusion", myString)#</cfoutput>  <!--- Output: 5 --->

Replace(string, oldSubstring, newSubstring, scope)

Replaces occurrences of a substring within a string.

Example:

<cfset myString = "ColdFusion">
<cfoutput>#Replace(myString, "Cold", "Hot", "ALL")#</cfoutput>  <!--- Output: HotFusion --->

Date and Time Functions

Now()

Returns the current date and time.

Example:

<cfoutput>#Now()#</cfoutput>

DateFormat(date, mask)

Formats a date according to a specified mask.

Example:

<cfset myDate = Now()>
<cfoutput>#DateFormat(myDate, "mm/dd/yyyy")#</cfoutput>

TimeFormat(time, mask)

Formats a time according to a specified mask.

Example:

<cfset myTime = Now()>
<cfoutput>#TimeFormat(myTime, "HH:mm:ss")#</cfoutput>

DateAdd(interval, number, date)

Adds a specified interval to a date.

Example:

<cfset myDate = Now()>
<cfoutput>#DateAdd("d", 7, myDate)#</cfoutput>

DateDiff(interval, date1, date2)

Calculates the difference between two dates.

Example:

<cfset date1 = CreateDate(2023, 1, 1)>
<cfset date2 = Now()>
<cfoutput>#DateDiff("d", date1, date2)#</cfoutput>

CreateDate(year, month, day)

Creates a date object.

Example:

<cfset myDate = CreateDate(2023, 10, 26)>
<cfoutput>#myDate#</cfoutput>

Array Functions

ArrayNew(dimensions)

Creates a new array.

Example:

<cfset myArray = ArrayNew(1)>

ArrayAppend(array, value)

Appends an element to an array.

Example:

<cfset myArray = ArrayNew(1)>
<cfset ArrayAppend(myArray, "Value1")>

ArrayLen(array)

Returns the length of an array.

Example:

<cfset myArray = ["A", "B", "C"]>
<cfoutput>#ArrayLen(myArray)#</cfoutput>

ArrayAvg(array)

Returns the average of the elements in an array.

Example:

<cfset myArray = [1, 2, 3, 4, 5]>
<cfoutput>#ArrayAvg(myArray)#</cfoutput>

ArrayMin(array)

Returns the minimum value in an array.

Example:

<cfset myArray = [5, 2, 8, 1, 9]>
<cfoutput>#ArrayMin(myArray)#</cfoutput>

ArrayMax(array)

Returns the maximum value in an array.

Example:

<cfset myArray = [5, 2, 8, 1, 9]>
<cfoutput>#ArrayMax(myArray)#</cfoutput>

Components and Objects

Component Definition

<cfcomponent>

Defines a CFML component (CFC).

Example:

<cfcomponent name="MyComponent">
  <cffunction name="init">
    <cfreturn this>
  </cffunction>
</cfcomponent>

<cffunction>

Defines a function within a component.

Example:

<cffunction name="myFunction" access="public" returnType="string">
  <cfargument name="param1" type="string" required="true">
  <cfreturn "Hello, #arguments.param1#">
</cffunction>

access

Specifies the access level of a function (public, private, remote).

Example:

<cffunction name="privateFunc" access="private">
  <!--- Only accessible within the component --->
</cffunction>

returnType

Specifies the return type of a function.

Example:

<cffunction name="getDate" returnType="date">
  <cfreturn Now()>
</cffunction>

<cfargument>

Defines an argument for a function.

Example:

<cffunction name="greet">
  <cfargument name="name" type="string" required="true">
  <cfreturn "Hello, #arguments.name#">
</cffunction>

Object Creation and Usage

CreateObject(type, componentPath)

Creates an instance of a CFML component.

Example:

<cfset myObj = CreateObject("component", "path.to.MyComponent")>
<cfoutput>#myObj.myFunction("World")#</cfoutput>

Using dot notation

Accessing properties and methods of an object.

Example:

<cfset obj = CreateObject("component", "MyComponent")>
<cfoutput>#obj.propertyName#</cfoutput>
<cfoutput>#obj.methodName()#</cfoutput>