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 method is invoked in the following ways:
cfinvoke
tag in a ColdFusion page
cfscript
tag
<cfcomponent
extends ="anotherComponent"
output = "yes" or "no"
style = "rpc" or "document"
namespace = "default service namespace"
serviceportname = "port element name"
porttypename = "porttype element name"
bindingname = "binding element name"
wsdlfile = "path to hard-coded wsdl file"
displayname = "text string">
hint = "text string"> variable declarations
<cffunction ...>
...
</cffunction>
<cffunction ...>
...
</cffunction>
</cfcomponent>
cfargument
,
cffunction
,
cfinvoke
,
cfinvokeargument
,
cfobject
,
cfproperty
,
cfreturn
,
Building and Using ColdFusion Components in ColdFusion MX Developer's Guide
ColdFusion MX 7:
style
, namespace
, serviceportname
, porttypename
, wsdlfile
, and bindingname
attributes.
hint
and displayname
attributes when publishing document-literal style web services.
ColdFusion MX: Added this tag.
Attribute | Req/Opt | Default | Description |
---|---|---|---|
extends |
Optional |
|
Name of parent component from which to inherit methods and properties. |
output |
Optional |
Component body displayable text is processed as standard CFML |
Specifies whether constructor code in the component can generate HTML output; does not affect output in the body of
|
style |
Optional |
rpc |
Specifies whether a CFC used for web services uses RPC-encoded style or document-literal style:
|
namespace |
Optional |
classname |
Specifies the namespace used in the WSDL when using the CFC as a document-literal style web service. If you don't specify this attribute, ColdFusion MX derives the value from the CFC class name.
This attribute applies only when |
serviceportname |
Optional |
|
Specifies the
This attribute applies only when |
porttypename |
Optional |
|
Specifies the
This attribute applies only when |
bindingname |
Optional |
|
Specifies the
This attribute applies only when |
wsdlfile |
Optional |
|
A properly formatted WSDL file to be used instead of WSDL generated by ColdFusion MX.
This attribute applies only when |
displayname |
Optional |
|
A string to be displayed when using introspection to show information about the CFC. The information appears on the heading, following the component name.
If the |
hint |
Optional |
|
Text to be displayed when using introspection to show information about the CFC. The
If the |
If you specify the extends
attribute, the data and methods of the parent component are available to CFC methods as if they were parts of the current component. If the managerCFC component extends the employeeCFC component, and the employeeCFC component has a getEmployeeName method, you can call this method using the managerCFC, as follows:
<cfinvoke component="managerCFC" method="getEmployeeName" returnVariable="managerName" EmployeeID=#EmpID#>
This tag requires an end tag.
If you specify style="document"
, ColdFusion MX publishes the CFC as a document-literal style web service. For more information, see Publishing document-literal style web services in Using Web Services in ColdFusion MX Developer's Guide.
<cfcomponent> <cffunction name="getEmp"> <cfquery name="empQuery" datasource="cfdocexamples" > SELECT FIRSTNAME, LASTNAME, EMAIL FROM tblEmployees </cfquery> <cfreturn empQuery> </cffunction> <cffunction name="getDept"> <cfquery name="deptQuery" datasource="cfdocexamples" > SELECT * FROM tblDepartments </cfquery> <cfreturn deptQuery> </cffunction> </cfcomponent>