Search:
Calendar:
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Subscribe:
Archives By Subject:
Adobe (33) [RSS]
AIR (7) [RSS]
Ajax (3) [RSS]
Buzzword (1) [RSS]
CFUG (42) [RSS]
ColdFusion (70) [RSS]
Flash (6) [RSS]
Flex (40) [RSS]
Frameworks (3) [RSS]
Free Software (2) [RSS]
FXUG (22) [RSS]
General (35) [RSS]
JpgMetadataReader (3) [RSS]
jQuery (1) [RSS]
Mac (2) [RSS]
Off Topic (13) [RSS]
OpenSource (14) [RSS]
PaperVision (10) [RSS]
Spry (2) [RSS]
Transfer (1) [RSS]
Tags:
Recent Entries:
Top Posts:
- [18084] Paper Vision 3D Sphere - Carousels on Steroids!
- [10016] Simple Dynamic Cursor Example in Flex2: With source code
- [9848] Simple PaperVision3D Blurring example
- [9693] PaperVision3D/Flex2 Carousel v0.2
- [9652] Simple PaperVision3D Blurring example : source code
- [9550] Saving images from Flex using ColdFusion: Simple Example with source code
- [9530] Carousel v0.2 - source code
- [9232] PaperVision Carousel0.3 - one step closer to the master plan!
- [7865] PaperVision3D is good for cubes! - a "geek" gift
- [6835] Simple Effects on a Form - Flex Example
Recent Comments:
- Getting Red from my color
David said: @Promethe: Thanks for the comment. Jason uses that way too in his example. working with number as n... [More] - Getting Red from my color
Promethe said: guys... seriously: var myColor : uint = 0xef556ef; var myRed : uint = (myColor >> 16) & ... [More] - Getting Red from my color
David said: @Jason: Thanks for the example! I never like working with numbers-to-strings-to-numbers. I'll pull y... [More] - Getting Red from my color
jason olmsted said: There is always more than one way to skin a cat. I threw together a quick class that offers easy to... [More] - Frameworks: Whats good about them, whats bad about them.
Arowolo said: I totally agree with you, and to add to your point, i think it also reduces ones understanding of th... [More]
Top Commenters:
- [8] Campbell
- [8] Ben Nadel
- [6] Steve Bryant
- [6] Mark Flewellen
- [4] barry.b
- [4] Raymond Camden
- [3] John Whish
- [3] Peter Bell
- [2] riabook
- [2] carlos
My Links:
RSS:
Skeleton Key for a CFC - unlock any CFC!
I was working with the ColdFusion Adminsitrator API today, and had the code:
While working with this, I decided to see what was in the "variables" scope of the CFC. Now, as you know the "variables" scope inside a CFC is not available outside of the CFC...right?
Well, no.
Here is a really easy way to get round it.
NB: If you find yourself doing this often, I suspect you are using the CFCs wrong! ;-)
One.CFC Code
<!--- nicely hidden in the variables scope --->
<cfset variables.value = "This Value Is One">
<!--- need to user getter and setter to update value --->
<cffunction name="getValue" access="public" output="false" returntype="String">
<cfreturn variables.value>
</cffunction>
<cffunction name="setValue" access="public" output="false" returntype="void">
<cfargument name="value" required="true">
<cfset variables.value = arguments.value>
</cffunction>
</cfcomponent>
Calling Code
<cffunction name="tellMeYourSecrets">
<cfreturn variables>
</cffunction>
<!--- create your CFC --->
<cfset oCFC = createObject("component","One")>
<!--- stick your function in to the CFC --->
<cfset oCFC.tellMeYourSecrets = tellMeYourSecrets>
<!--- get the variables scope --->
<cfset stVariables = oCFC.tellMeYourSecrets()>
<!--- dump out the secrets --->
<cfdump var="#stVariables#">
What is also interesting to note that the "variables" scope will be passed by reference, which means if you update values in the return structure, you WILL be updating the values inside the CFC.
...add this code to the bottom:
<cfset stVariables.value = "My New Updated Value">
<cfoutput>#oCFC.getValue()#</cfoutput>
the "getValue" function will return "My New Updated Value". So I have bypassed the getter and setter functions all together!
While this is interesting, I can see no real situation when you would want to do this!
(If you do find yourself doing this, please consult with you nearest Guru why you shouldn't be doing this!)
Even by creating getters and setters and hiding everything in the "variables" scope, it's pretty quick to find your way in to the heart of a CFC!
Files attached if you want to try it out for yourself.

There are no comments for this entry.
[Add Comment]