Huh?
If you're maintaining state for a particular user or request in a CFC,
then you'd need to instantiate a new instance of the CFC for each
session or each request.
It's important to understand that you don't create a copy of a
CFC instance when you do this:
<cfset Request.Utilities = application.Utilities>
You only create another pointer to the same instance. This is
what copy by reference means. In effect, it's just giving it another
name (in another scope).
Perhaps i didn't understand what you're trying to say though?
Eric Knipp wrote:
Nando,
The one point I was trying to make is that by putting it into request
scope, you eliminate the need to do a bunch of find-and-replace later
on if you decide that in fact the utility class retains some kind of
state and has to be in session scope (for example). This way you only
have to change your code in one place, which seems better. But really
that is kind of a "flavor" decision and could be more confusion than
its worth.
Eric
On 3/19/07, Nando <[EMAIL PROTECTED]> wrote:
It
doesn't make any sense to me to copy a reference into request
scope.
CFC's are copied by reference, which means that here you're simply
assigning the variable another name in a different scope. I'd just go
ahead and work with it in application scope.
As far as i'm aware, application scope works in custom tags. I have one
in production open in front of me, just to confirm my memory is correct
on this.
HTH,
Nando
On 3/19/07, Eric Knipp <[EMAIL PROTECTED]
> wrote:
Its
my understanding that CFC's are copied by reference, so I don't see how
copying the CFC into the request scope helps you at all, except that it
does make it easier if you were to switch to some other container
(other than application scope) at some point.
On 3/19/07, J MacKay <
[EMAIL PROTECTED]> wrote:
Hopefully
someone can answer two newbie questions ..
I've read a few blog entries about storing general utility components
in the application scope so they can accessed anywhere within the
application.
<cfif NOT isDefined("application.Utilities")>
<cflock scope="application" type="exclusive" timeout="10">
<cfif NOT isDefined("application.Utilities
")>
<cfset application.Utilities = createObject("component",
"Utilities")>
</cfif>
</cflock>
</cfif>
<cflock ...>
<cfset Request.Utilities = application.Utilities>
</cflock>
It makes sense to instantiate the component once and store it in the
application scope, but 1) why copy it back into the Request scope ? So
it will be available to custom tags? 2) Why is it necessary to use a
lock when copying the component into the request scope?
No need to miss a message. Get
email on-the-go
with Yahoo! Mail for Mobile. Get
started.
You are subscribed to cfcdev. To unsubscribe, please follow the
instructions at http://www.cfczone.org/listserv.cfm
CFCDev is supported by:
Katapult Media, Inc.
We are cool code geeks looking for fun projects to rock!
www.katapultmedia.com
An archive of the CFCDev list is available at www.mail-archive.com/[email protected]
You are subscribed to cfcdev. To unsubscribe, please follow the
instructions at http://www.cfczone.org/listserv.cfm
CFCDev is supported by:
Katapult Media, Inc.
We are cool code geeks looking for fun projects to rock!
www.katapultmedia.com
An archive of the CFCDev list is available at www.mail-archive.com/[email protected]
You are subscribed to cfcdev. To unsubscribe, please follow the
instructions at http://www.cfczone.org/listserv.cfm
CFCDev is supported by:
Katapult Media, Inc.
We are cool code geeks looking for fun projects to rock!
www.katapultmedia.com
An archive of the CFCDev list is available at www.mail-archive.com/[email protected]
You are subscribed to cfcdev. To unsubscribe, please follow the
instructions at http://www.cfczone.org/listserv.cfm
CFCDev is supported by:
Katapult Media, Inc.
We are cool code geeks looking for fun projects to rock!
www.katapultmedia.com
An archive of the CFCDev list is available at
www.mail-archive.com/[email protected]
--

You are subscribed to cfcdev. To unsubscribe, please follow the instructions at http://www.cfczone.org/listserv.cfm
CFCDev is supported by: Katapult Media, Inc. We are cool code geeks looking for fun projects to rock! www.katapultmedia.com
An archive of the CFCDev list is available at www.mail-archive.com/[email protected] |