The Dopefly Tech Blog

« The Dopefly Tech Blog Main page

Fun with Functions and CFCs IV - Public Method, Different from the Private Method

posted under category: ColdFusion on December 13, 2007 at 12:00 am 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.