I'm experimenting with my first CFC. I've written these simple example
files.
*** test.cfc ***
<cfcomponent displayname="My First CFC" hint="A trial CFC">
<cfset this.X = 10>
<cfset this.Y = 15>
<cfset A = 5>
<cfset B = 3>
<cffunction name="multiplyXY" access="public" returntype="numeric">
<cfset myResult = this.X * this.Y>
<cfreturn myResult>
</cffunction>
<cffunction name="multiplyAB" access="public" returntype="numeric">
<cfset myResult = A * B>
<cfreturn myResult>
</cffunction>
</cfcomponent>
*** end ***
*** test.cfm ***
<cfobject name="testObj" component="test">
<cfdump var="#testObj#">
<cfset this.X = 12>
<cfset this.Y = 24>
<cfset A = 21>
<cfset B = 32>
<cfinvoke component="#testObj#" method="multiplyXY" returnvariable="joe"/>
<cfinvoke component="#testObj#" method="multiplyAB" returnvariable="sam"/>
<cfinvoke component="test" method="multiplyXY" returnvariable="joe2"/>
<cfinvoke component="test" method="multiplyAB" returnvariable="sam2"/>
<cfoutput>
#testObj.X# * #testObj.Y# = #joe#<br>
#testObj.X# * #testObj.Y# = #testObj.multiplyXY()#<br>
#this.X# * #this.Y# = #this.X * this.Y#<br>
<br>
#sam#<br>
#testObj.multiplyAB()#<br>
#A * B#<br>
<br>
#joe2#<br>
#sam2#<br>
</cfoutput>
*** end ***
What I would like to discuss is the performance differences between the
various component methods I've tested here.
In the CFC code, the X and Y variables are in the "this" scope and the A and
B variables are in the default "variable" scope. What are the differences
between these practices other then the X and Y are available as properties
of an object (obj.X and obj.Y).
Then in the CFM code I accessed the component a couple different ways. I
first used a <cfobject> tag to "instantiate" an instance of the component as
a object variable "testObj". I then accessed the methods of that instance
with a <cfinvoke> on testObj and directly [testObj.method()]. Finally I
just accessed the methods of the component directly with <cfinvoke>.
I would like to discuss the pros and cons of these different practices and
when one might be better then another. Also, I remember reading about some
kind of scope bug involving CFC's, but since I wasn't really familiar with
CFC's at the time, I really didn't understand what I was reading. What
would this be about?
Thank You
--------------
Ian Skinner
Web Programmer
BloodSource
Sacramento, CA
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4
Subscription:
http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Your ad could be here. Monies from ads go to support these lists and provide more
resources for the community.
http://www.fusionauthority.com/ads.cfm
Unsubscribe:
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4