Adobe ColdFusion 8

Creating ColdFusion components

When you create CFCs, you create methods, which are ColdFusion user-defined functions, in the component page. You pass data to a method by using parameters. The method then performs the function and, if specified in the cfreturn tag, returns data.

You can also define variables in a CFC. Within a CFC, these variables are known as properties.

Tags for creating CFCs

You use the following tags to create a CFC. You include these tags on the CFML page that defines the CFC.

Tag

Description

cfcomponent

Contains a component definition; includes attributes for introspection. For more information, see Building ColdFusion components.

cffunction

Defines a component method (function); includes attributes for introspection. For more information, see Defining component methods.

cfargument

Defines a parameter (argument) to a method; includes attributes for introspection. For more information, see Defining and using method parameters.

cfproperty

Defines variables for CFCs that provide web services; also use to document component properties. For more information, see The cfproperty tag.

Elements of a CFC

A CFC has the following characteristics:

  • It is a single CFML page with a .cfc filename extension. The component name is the same as the filename. For example, if the file is myComponent.cfc, the component name is myComponent.
  • The page is surrounded by a cfcomponent tag. No code can be outside this tag.
  • The component page defines methods (functions), properties (data), or both. Most CFCs have methods, or methods and properties, but you can also have a CFC that contains only properties.
  • You use the cffunction tag to define CFC methods. The CFScript function statement can create simple methods, but it does not provide options to control access to the method, provide metadata, specify a return type, or control generated output.
  • You can write code on the component page that is outside of cffunction definitions. This code executes when the CFC is instantiated or whenever you invoke a method of the CFC.

Building ColdFusion components

You use the cfcomponent and cffunction tags to create ColdFusion components. By itself, the cffunction tag does not provide functionality. The cfcomponent tag provides an envelope that describes the functionality that you build in CFML and enclose in cffunction tags. The following example shows the skeleton of a component with two methods:

<cfcomponent>
    <cffunction name="firstMethod">
         <!--- CFML code for this method goes here. --->
    </cffunction>
    <cffunction name="secondMethod">
         <!--- CFML code for this method goes here. --->
    </cffunction>
</cfcomponent>