For the complete experience, please enable JavaScript in your browser. Thank you!

  • Creative Cloud
  • Photoshop
  • Illustrator
  • InDesign
  • Premiere Pro
  • After Effects
  • Lightroom
  • See all
  • See plans for: businesses photographers students
  • Document Cloud
  • Acrobat DC
  • eSign
  • Stock
  • Elements
  • Marketing Cloud
  • Analytics
  • Audience Manager
  • Campaign
  • Experience Manager
  • Media Optimizer
  • Target
  • See all
  • Acrobat Reader DC
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player
  • All products
  • Creative Cloud
  • Individuals
  • Photographers
  • Students and Teachers
  • Business
  • Schools and Universities
  • Marketing Cloud
  • Document Cloud
  • Stock
  • Elements
  • All products
  • Get Support
    Find answers quickly. Contact us if you need to.
    Start now >
  • Learn the apps
    Get started or learn new ways to work.
    Learn now >
  • Ask the community
    Post questions and get answers from experts.
    Start now >
    • About Us
    • Careers At Adobe
    • Investor Relations
    • Privacy  |  Security
    • Corporate Responsibility
    • Customer Showcase
    • Events
    • Contact Us
News
    • 3/22/2016
      Adobe Summit 2016: Are You An Experience Business?
    • 3/22/2016
      Adobe Announces Cross-Device Co-op to Enable People-Based Marketing
    • 3/22/2016
      Adobe and comScore Advance Digital TV and Ad Measurement
    • 3/22/2016
      Adobe Marketing Cloud Redefines TV Experience
Developing Applications Help / 

Implicit constructor for CFC

Adobe Community Help


Applies to

  • ColdFusion

Contact support

 
By clicking Submit, you accept the Adobe Terms of Use.
 

You can initialize the CFC properties, when you instantiate the CFC, by passing the values as key-value pair or struct. 
For example, assume that you have a CFC employee.cfc with the properties firstName and lastName.
You can use the following syntax to set the first name and last name:

emp=new employee(firstName="Tom", lastName="Nash");

or as an implicit struct as follows:

emp=new Employee({firstName="Tom", lastName="Nash"});

If an init() method is defined for the CFC, either by explicitly defining an {{init()}}method or by providing the {{}}method in the component's {{initmethod }}attribute, implicit Constructor is not invoked.
For implicit Constructor support, either specify accessors=true in the cfcomponent or ensure that you have the setter functions for the properties defined. 
If you have setter = false for a specific property or if the property is not defined for the CFC, then the value is not set. 
In either case, if there is an onMissingMethod defined for the CFC, it is invoked.

Example 1

In this example, the property firstName is set to the value Tom at the time of CFC instantiation, but the property lastName is not set because it has setter = false. Also, onMissingMethod is invoked in the case of the property lastName.employee.cfm

<cfscript>
emp = new employee(firstname="Tom", lastname="Nash");
writeOutput("<u><b>Employee Details</b></u>: " & "<br><br>");
writeOutput("First Name: " & emp.getFirstname() & "<br>");
</cfscript>

employee.cfc

<cfcomponent accessors="TRUE">
<cfproperty name="firstname" type="string" setter="true"/>
<cfproperty name="lastname" type="string" setter="false"/>
<cfproperty name="age" type="numeric"/>
<cffunction name="onMissingMethod">
<cfargument name="missingMethodName"/>
<cfargument name="missingMethodArguments"/>

<cfoutput>
onMissingMethod() called for method call - #arguments.missingMethodName#
<hr>
</cfoutput>
</cffunction>
</cfcomponent>

Example 2

In this example, both employee1.cfc and employee2.cfc have an init()}}method defined. Therefore, the CFC properties {{firstName and lastName are not initialized. But in the employee.cfc, since there is no init() method defined, property firstName is initialized.employee1.cfc

<cfcomponent accessors="TRUE">
<cfproperty name="firstname" type="string" setter="true"/>
<cfproperty name="lastname" type="string" setter="false"/>
<cffunction name="init">
<cfreturn this>
</cffunction>
<cffunction name="onMissingMethod">
<cfargument name="missingMethodName"/>
<cfargument name="missingMethodArguments"/>
<cfoutput>
onMissingMethod() called for method call - #arguments.missingMethodName#
<hr>
</cfoutput>
</cffunction>
</cfcomponent>

employee2.cfc

<cfcomponent accessors="TRUE" initmethod=foo>
<cfproperty name="firstname" type="string" setter="true"/>
<cfproperty name="lastname" type="string" setter="false"/>
<cffunction name="foo">
<cfreturn this>
</cffunction>
<cffunction name="onMissingMethod">
<cfargument name="missingMethodName"/>
<cfargument name="missingMethodArguments"/>
<cfoutput>
onMissingMethod() called for method call - #arguments.missingMethodName#
<hr>
</cfoutput>
</cffunction>
</cfcomponent>

employee.cfm

<cfscript>
emp = new employee(firstname="Tom", lastname="Nash");
writeOutput("<u><b>Employee Details</b></u>: " & "<br><br>");
writeOutput("First Name: " & emp.getFirstname() & "<br>");
writeOutput("<hr>");
emp1 = new employee1(firstname="Tom", lastname="Nash");
writeOutput("First Name: " & emp1.getFirstname() & "<br>");
writeOutput("<hr>");
emp2 = new employee2(firstname="Tom", lastname="Nash");
writeOutput("First Name: " & emp2.getFirstname() & "<br>");
writeOutput("<hr>");
</cfscript>
<cfoutput>
onMissingMethod() called for method call - #arguments.missingMethodName#
<hr>
</cfoutput>

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy

Choose your region United States (Change)   Products   Downloads   Learn & Support   Company
Choose your region Close

Americas

Europe, Middle East and Africa

Asia Pacific

  • Brasil
  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States
  • Africa - English
  • Österreich - Deutsch
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Hrvatska
  • Cyprus - English
  • Česká republika
  • Danmark
  • Eesti
  • Suomi
  • France
  • Deutschland
  • Greece - English
  • Magyarország
  • Ireland
  • Israel - English
  • ישראל - עברית
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • Malta - English
  • الشرق الأوسط وشمال أفريقيا - اللغة العربية
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Polska
  • Portugal
  • România
  • Россия
  • Srbija
  • Slovensko
  • Slovenija
  • España
  • Sverige
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • Southeast Asia (Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam) - English
  • 台灣

Commonwealth of Independent States

  • Includes Armenia, Azerbaijan, Belarus, Georgia, Moldova, Kazakhstan, Kyrgyzstan, Tajikistan, Turkmenistan, Ukraine, Uzbekistan

Copyright © 2016 Adobe Systems Incorporated. All rights reserved.

Terms of Use | Privacy | Cookies

AdChoices