It's kind of like a strict C compiler, if you're familiar with that.  You have to 
define "var" variables at the top of a function, before any other code.

This is valid:
<cffunction name="foo">
        <cfset var myVar = 1>
        *other CF code that does things besides sets variables>
</cffunction>

This is not valid:
<cffunction name="foo">
        <cfset someVariable = 12> <!--- not this does not use "var">
        <cfset var myVar = 1>
        *other CF code that does things besides sets variables>
</cffunction>

--nolan


-----Original Message-----
From: Schreck, Thomas (PPC) [mailto:[EMAIL PROTECTED]
Sent: Tuesday, February 10, 2004 10:37 AM
To: [EMAIL PROTECTED]
Subject: RE: [CFCDev] How should I define variable in a CFC?


I've run into situations trying to use 'var' in front of a variable name
and it produces an error.  Something to the affect "var can only be used
at the beginning of a method".  What are the rules around using var?

Thanks - Tom Schreck


-----Original Message-----
From: Barney Boisvert [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, February 10, 2004 12:02 PM
To: [EMAIL PROTECTED]
Subject: RE: [CFCDev] How should I define variable in a CFC?

Using the 'var' keyword is only allowed inside functions/methods.  It
creates a local variable that only exists for that specific invocation
of
the function.  Such variables are immune to race conditions, because
they
are bound to a specific invocation.  This is not specific to CFCs, you
can
use it in any function definition (including CFSCRIPT functions), in or
outside a CFC.

Using the 'variables' scope creates a private variable accessible only
to
your CFC.  It exists as long as the instance of the CFC is around.  Such
variables are NOT immune to race conditions, because they are shared
across
the instance, and multiple clients may be calling methods on a single
instance at the same time.

Using the 'this' scope is just like the 'variables' scope, except that
the
variables are public, so the can be read or written by client code, as
well
as methods of the CFC.

Cheers,
barneyb

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of Troy Simpson
> Sent: Tuesday, February 10, 2004 9:38 AM
> To: [EMAIL PROTECTED]
> Subject: [CFCDev] How should I define variable in a CFC?
> 
> All,
> 
> I have been away from coldfusion for about a year or so and 
> now need to 
> get back into in.  I am using ColdFusion MX for this project 
> that I am 
> working on.  I need some clarification if possible.
> 
> How should I define variables in a CFC and why?
> What is the difference between the three?
> 
> <cfcomponent>
>    <cfset var dsn = "DataSourceName">
>    <cfset variables.dsn = "DataSourceName">
>    <cfset this.dsn = "DataSourceName">
> </cfcomponent>
> 
> Thanks,
> Troy
> 
> -- 
> Troy Simpson
>    Applications Analyst/Programmer, OCPDBA, MCSE, SCSA
> North Carolina State University Libraries
> Campus Box 7111 | Raleigh | North Carolina
> ph.919.515.3855 | fax.919.513.3330
> E-mail: [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]
> 

----------------------------------------------------------
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]
----------------------------------------------------------
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