Fun with Functions and CFCs IV - Public Method, Different from the Private Method
posted under category: ColdFusion on December 13, 2007 by Nathan
Here's an interesting idea. Probably not a good one, but check it out. What if external calls to a CFC method execute something different than when you call that method from within the CFC? It's easy. Here's the code:
<cfcomponent>
<cffunction name="init" access="public">
<cfreturn this>
</cffunction>
<cffunction name="privateMethod" access="private">
<cfreturn "This is a Private Method!">
</cffunction>
<cffunction name="publicMethod" access="public">
<cfreturn "This is a Public Method!">
</cffunction>
<cfset this.genericMethod = publicMethod />
<cfset variables.genericMethod = privateMethod />
</cfcomponent>
Now private calls to genericMethod() will give you the private method message, and public calls to myCFC.genericMethod() will return the public method message.
I honestly can not think of a use case for this one. Got any? leave a comment.