CFCOMPONENT  
Description

Creates and defines a component object; encloses functionality that you build in CFML and enclose within cffunction tags. This tag contains one or more cffunction tags that define methods. Code within the body of this tag, other than cffunction tags, is executed when the component is instantiated.

A component file has the extension CFC and is stored in any directory of an application.

A component is invoked in the following ways:

  • Within the cfinvoke tag in a ColdFusion page
  • Within a URL that calls a CFC file and passes a method name as a URL parameter
  • Within the cfscript tag
  • As a web service
  • From Flash code
 
Category

Extensibility tags

 
Syntax
    <cfcomponent
   extends ="anotherComponent"
   output = "yes" or "no">
   <cffunction ...>
      ...
   </cffunction> 

   <cffunction ...>
      ...
   </cffunction> 
</cfcomponent>

  
 
See also

cfargument, cffunction, cfinvoke, cfinvokeargument, cfobject, cfproperty, cfreturn

 
Usage

ColdFusion processes output expressions as follows:

  • If "output=no", ColdFusion suppresses all output.
  • If "output=yes", ColdFusion evaluates all #expr# tokens as if the function body was enclosed within cfoutput tags.
  • If you do not specify the output attribute, you must enclose all tokens that are to be evaluated within cfoutput tags.

This tag requires an end tag.

 
Example
<cfcomponent>
   <cffunction name="getEmp">
       <cfquery 
name="empQuery" datasource="ExampleApps" >
          SELECT FIRSTNAME, LASTNAME, EMAIL
          FROM tblEmployees
       </cfquery>
       <cfreturn empQuery>
   </cffunction>

   <cffunction name="getDept">
      <cfquery 
name="deptQuery" datasource="ExampleApps" >
          SELECT *
          FROM tblDepartments
       </cfquery>
       <cfreturn deptQuery>
   </cffunction>
</cfcomponent>
EXTENDS  
  Optional
 

Name of parent component from which to inherit methods and properties.

OUTPUT  
  Optional
 
  • yes: permits component method output
  • no: suppresses component method output