Dom,
I think I follow. Loading them in memory like mini CFC's?

Very interesting.

I take it you can load the function in to memory like using an init method
on a CFC... by calling the function with out the the "()" and not passing it
any vars?

<cfset application.udfs.MyFunction1 = MyFunction1>

Is this correct?

G


On Mon, May 19, 2008 at 10:50 AM, Dominic Watson <
[EMAIL PROTECTED]> wrote:

> I'd say this was absolutley fine. I'd put the includes in
> OnApplicationStart and then put each udf into the application scope to
> avoid including the files on each request (well I'd actually use
> Model-Glue 3 but this is what I'd do if I was doing what you're
> doing); something like:
>
> <cffunction name="onApplicationStart">
>      ...
>      <cfinclude template="theUdfs.cfm">
>      <cfinclude template="theUdfs2.cfm">
>      ...
>
>      <cfset application.udfs = StructNew()>
>
>      <cfset application.udfs.MyFunction1 = MyFunction1>
>      <cfset application.udfs.MyFunction2 = MyFunction2>
>      <cfset application.udfs.MyFunction3 = MyFunction3>
>      ...
> </cffunction>
>
> Then, to avoid verbosity when calling a udf, I'd add this line in
> OnRequestStart()
>
> <cffunction name="onRequestStart">
>      ...
>      <cfset variables.udfs = application.udfs>
>      ...
> </cffunction>
>
> This has created a custom 'scope', if you will (its not but hey),
> called 'udfs' - Model-Glue 3 creates one called 'helpers' which might
> be another name you'd like. So now, when you need MyFunction1, you can
> call it cleanly as:
>
> <cfset foo = udfs.MyFunction1(bar)>
>
> That idea is off the top of my head and probably bonkers but it works
> for me ;) Nothing wrong with what you are doing.
>
> Dominic
>
> 2008/5/19 Richard White <[EMAIL PROTECTED]>:
> >
> > hi,
> >
> > just wondering how you guys deal with you reusable functions
> >
> > we were thinking that instead if having to look into what reusable
> functions we have, then decide which functions we need in a page and then
> including them within a page, that we just build our library and include
> everything in the application.cfc page
> >
> > then we will just need to look at what function we want and then use it.
> is this the right way to do it?
> >
> > thanks
> >
> >
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to 
date
Get the Free Trial
http://ad.doubleclick.net/clk;192386516;25150098;k

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:305619
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to