ColdFusion 9.0 Resources |
Creating and using objectsYou use the cfobject tag or the CreateObject function to create a named instance of an object. You use other ColdFusion tags, such as cfset and cfoutput, to invoke the object properties and methods. Many of the techniques for creating and using objects apply to both COM and CORBA objects. The examples here assume a sample object named “obj”, and that the object has a property called “Property”, and methods called “Method1”, “Method2”, and “Method3”. Creating objectsYou create, or instantiate (create a named instance of) an object in ColdFusion with the cfobject tag or CreateObject function. The specific attributes or parameters that you use depend on the type of object you use, and are described in detail in Creating and using COM objects and Creating CORBA objects. The following examples use a cfobject tag to create a COM object and a CreateObject function to create a CORBA object: <cfobject type="COM" action="Create" name="obj" class="sample.MyObject"> obj = CreateObject("CORBA", "d:\temp\tester.ior", "IOR", "Visibroker") ColdFusion releases any object created by cfobject or CreateObject, or returned by other objects, at the end of the ColdFusion page execution. Using propertiesUse standard ColdFusion statements to access properties as follows:
As shown in this example, you do not use parentheses on the right side of the equation to get a property value. Calling methodsObject methods usually take zero or more arguments. You send In arguments, whose values are not returned to the caller by value. You send Out and In,Out arguments, whose values are returned to the caller, by reference. Arguments sent by reference usually have their value changed by the object. Some methods have return values, while others do not. Use the following techniques to call methods:
Calling nested objectsColdFusion supports nested (scoped) object calls. For example, if an object method returns another object, and you invoke a property or method on that object, you can use the syntax in either of the following examples: <cfset prop = myObj.X.Property> or <cfset objX = myObj.X> <cfset prop = objX.Property> |