cffunction

Description

Defines functionality that you build in CFML.

Category

Extensibility tags

Syntax

<cffunction
  name = "methodName"
  returnType = "dataType"
  roles = "securityRoles"
  access = "methodAccess"
  output = "yes" or "no" > 

See also

cfargument, cfcomponent, cfinvoke, cfinvokeargument, cfobject, cfproperty, cfreturn

Attributes

Attribute Req/Opt Default Description
name
Required
 
A string; a component method that is used within the cfcomponent tag.
returnType
Required for a web service; Optional, otherwise.
 any
String; a type name; data type of the function return value.
  • any
  • array
  • binary
  • boolean
  • date
  • guid
  • numeric
  • query
  • string
  • struct
  • uuid
  • variableName
  • void (this option does not return a value)
  • a return type
If the value is not a recognized type, ColdFusion processes it as a component name.
roles
Optional
"" (empty)
This attribute is used only for a component.
A comma-delimited list of ColdFusion security roles that can invoke the method. If this attribute is omitted, all roles can invoke the method.
access
Optional
public
This attribute is used only for a component.
The client security context from which the method can be invoked:
  • private: available only to the component that declares the method
  • package: available only to the component that declares the method or to another component in the package
  • public: available to a locally executing page or component method
  • remote: available to a locally or remotely executing page or component method, or a remote client through a URL, Flash, or a web service. To publish the function as a web service, this option is required.
output
Optional
Function is processed as standard CFML
This attribute is used only for a component.
  • yes: the function is processed as if it were within a cfoutput tag
  • no: the function is processed as if it were within a cfsilent tag

Usage

Components that are stored in the same directory are members of a component package.

Within a cffunction tag, if you specify the roles attribute, the method executes only if a user is logged in and belongs to one of the specified roles.

For more information, see the "Building and Using ColdFusion Components" chapter in Developing ColdFusion MX Applications with CFML.

The following example shows a typical use of this tag:

<cffunction
  name="getEmployees" 
  access="remote" 
  returnType="query" 
  hint="This query returns all records in the employee database. It can
drill-down or narrow the search, based on optional input parameters.">

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>

Comments