I've been curious whether it is possible to dynamically create functions in CF with 
names and return variable names decided at runtime.  I took a stab at it once, but I 
couldn't figure out how to create a function on the fly besides writing the function 
declaration to a file and then cfincluding it.

Wouldn't it be nice to have something like this for simple getters?:

<cfset Getters = "ID,Name,Age,Height,Weight" >

<cfloop list="#Getters#" index="GetterVar" >
  <cfset CreateSimpleGetter(GetterVar) >
</cfloop>

<cffunction name="CreateSimpleGetter" >
  <cfargument name="GetterVar" />
  <cfset FunctionText = "<cffunction name='get#GetterVar#'><cfreturn 
Variables[#GetterVar#]></cffunction>" >
  <cfset Evaluate(FunctionText) >
</cffunction>


Does anyone know if it is possilbe to create a function factory like this?

Jon



>>> [EMAIL PROTECTED] 01/07/04 10:21AM >>>




I have a CFC with 26 properties.  None are inherited.  I find that
having 52 methods for getting and setting to be a bit cumbersome to keep
in my CFC with the "real" methods.  I was thinking of including all my
getters and setters from a CF template.  Let's say that the my code
looks like this:

facility.cfc
<cfcomponent hint="I am a facility">
      <!--- Include the getters and setters --->
      <cfinclude  template= "facilitygetset.cfm">

      <!--- Start the more complicated stuff --->
      <cffunction name="firstrealmethod">
      .
      .
      .
      </cffunction>
..
..
..
..
</cfcomponent>

Any thoughts on this as a good idea, bad idea, unintended consequences?


------------------------------------------------
Gerry Gurevich,
Lockheed Martin
[EMAIL PROTECTED] 
919-572-7818

----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev' 
in the message of the email.

CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).

An archive of the CFCDev list is available at www.mail-archive.com/[EMAIL PROTECTED]

----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev'
in the message of the email.

CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).

An archive of the CFCDev list is available at www.mail-archive.com/[EMAIL PROTECTED]

Reply via email to