<cfcomponent>

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.

This tag must have a body.

This tag is also supported within <cfscript>

<cfcomponent accessors=boolean synchronized=boolean persistent=boolean extends=string implements=string modifier=none|final|abstract displayname=string hint=string output=boolean style=string namespace=string serviceportname=string serviceaddress=string porttypename=string bindingname=string wsdlfile=string alias=string mappedsuperclass=boolean ><!--- body ---></cfcomponent>
Attribute Description
accessors
boolean, optional

If set to true, enables implicit getters and setters for the component's properties. For persistent CFCs, accessors are always enabled.

synchronized
boolean, optional

If set to true all calls to an instance of a component are synchronized. This setting allows a method to be executed only by one single thread at a time.

persistent
boolean, optional

Specifies CFC is persistent or not

extends
string, optional

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

implements
string, optional

Lists the interfaces that the component implements, specifying the set of functions that the component must provide.

modifier
string, optional

Defines the type of component: none for a regular component, abstract for a component that cannot be instantiated directly and must be extended, or final for a component that cannot be extended by other components.

displayname
string, 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 style attribute is set to document, the displayname attribute is used as the name of the service element in the WSDL.

Alias: display

hint
string, optional

Text that displays when you use introspection to show information about the CFC. The hint attribute value appears below the component name heading. Use this attribute to describe the purpose of the component.

output
boolean, optional
  • true: permits component method output
  • false: suppresses component method output
bindingname
string, optional

Specifies the name of the binding element in the WSDL. This attribute applies only when style="document".

Unimplemented Attribute(s)

Attribute Description
style
string, optional

Specifies whether a CFC used for web services uses RPC-encoded style or document-literal style

* unimplemented *
namespace
string, optional

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, Lucee derives the namespace from the CFC class name. This attribute applies only when style="document".

* unimplemented *
serviceportname
string, optional

Specifies the name of the port element in the WSDL. This attribute applies only when style="document".

* unimplemented *
serviceaddress
string, optional

Specifies the SOAP URL of the web service. If you don't specify this attribute, Lucee uses the URL of the CFC in the WSDL service description. Use this attribute to specify the protocol, for example, by specifying a URL that starts with https://. This attribute applies only for web services.

* unimplemented *
porttypename
string, optional

Specifies the name of the porttype element in the WSDL. This attribute applies only when style="document".

* unimplemented *
wsdlfile
string, optional

A properly formatted WSDL file to be used instead of WSDL generated by Lucee. This attribute applies only when style="document".

* unimplemented *
alias
string, optional
* unimplemented *
mappedsuperclass
boolean, optional
* unimplemented *

Examples

Tag based syntax

<cfcomponent displayname="Hello" output="false" style="document" hint="hint for Hello">
    <!--- functions and other values here -->
</cfcomponent>

Script based syntax

component displayname="Script Widget" output="false" {
 // functions and properties here
}

See also