Adobe COLDFUSION 9 Manual page 82

Developing applications
Hide thumbs Also See for COLDFUSION 9:
Table of Contents

Advertisement

DEVELOPING COLDFUSION 9 APPLICATIONS
The CFML Programming Language
Example 1
You might be inclined to use the
<cfoutput>1 + 1 is #Evaluate(1 + 1)#</cfoutput>
Although this code works, it is not as efficient as the following code:
<cfset Result = 1 + 1>
<cfoutput>1 + 1 is #Result#</cfoutput>
Example 2
This example shows how you can use an associative array reference in place of an
is powerful because:
• Most ColdFusion scopes are accessible as structures.
• You can use ColdFusion expressions in the indexes of associative array structure references. For more information
on using associative array references for structures, see
The following example uses the
<cfoutput>
Product Name: #Evaluate("Form.product_#i#")#
</cfoutput>
This code comes from an example where a form has entries for an indeterminate number of items in a shopping cart.
A product name field exists for each item in the shopping cart. The field name is of the form product_1, product_2,
and so on, where the number corresponds to the product entry in the shopping cart. In this example, ColdFusion does
the following:
Replaces the variable i with its value, for example 1.
1
concatenates the variable value with "Form.product_", and passes the result (for Form.product_1) to the
2
function, which does the remaining steps.
3
Parses the variable product_1 and generates an executable representation of the variable. Because ColdFusion must
run its parser, this step requires substantial processing, even for a simple variable.
4
Evaluates the representation of the variable, for example as "Air popper".
Returns the value of the variable.
5
The following example has the same result as the preceding example and is more efficient:
<cfoutput>
ProductName: #Form["product_" & i]#
</cfoutput>
In this code, ColdFusion does the following:
Evaluates the expression in the associative array index brackets as the string "product_" concatenated with the value
1
of the variable i.
Determines the value of the variable i; 1.
2
3
Concatenates the string and the variable value to get product_1.
Uses the result as the key value in the Form structure to get Form[product_1]. This associative array reference
4
accesses the same value as the object.attribute format reference Form.product_1; in this case, Air popper.
This code format does not use any dynamic evaluation, but it achieves the same effect, of dynamically creating a
structure reference by using a string and a variable.
function in code such as the following:
Evaluate
"Structure
function to construct a variable name:
Evaluate
Last updated 8/5/2010
function. This technique
Evaluate
notation" on page 93.
77
Evaluate

Advertisement

Table of Contents
loading

Table of Contents