it depends how many vars you have in each scope.
If you have barely any then the search will be quick.
If you have a complex app with hundreds of vars then the result will of
course be different, especially if they are complex structs.

There is also the fact that isdefined() will find the variable in ANY scope,
which may not be the one you want.

e.g.
isDefined('myvar')
would find

variables.myvar
cookie.myvar
session.myvar

etc
so if you are actually looking for myvar only in the form scope then this
could cause you issues, you also need to remember that dot notation means
nothing to isdefined(), so isDefined('form.myvar') could also find

session.form.myvar
url.form.myvar
cookie.form.var

etc

On Wed, Sep 1, 2010 at 4:56 PM, Mark A. Kruger <mkru...@cfwebtools.com>wrote:

>
> Russ,
>
> You are correct about that - but it's not typically a performance problem
> in
> my view. More of a "buggy/security" type problem :)
>
> -Mark
>
> Mark A. Kruger, MCSE, CFG
> (402) 408-3733 ext 105
> Skype: markakruger
> www.cfwebtools.com
> www.coldfusionmuse.com
> www.necfug.com
>
>
>
> -----Original Message-----
> From: Russ Michaels [mailto:r...@michaels.me.uk]
> Sent: Wednesday, September 01, 2010 10:51 AM
> To: cf-talk
> Subject: Re: CFParam vs. IsDefined
>
>
> defo better to make sure they are defined.
> Also using isDefined() is also bad as this search every single scope for
> your variable and is thus quite slow and can potentially cause timeouts.
> Much better to use StructKeyExists() and only test the scope your variable
> is in.
>
> --
> Russ Michaels
> www.cfmldeveloper.com
> Supporting the cf community since 1999
> FREE ColdFusion/Railo hosting for developers.
>
>
> On Wed, Sep 1, 2010 at 4:40 PM, DURETTE, STEVEN J (ATTASIAIT) <
> sd1...@att.com> wrote:
>
> >
> > Using your way ensures that any variables that you are using already
> > exist.
> >
> > I was always taught that I should define my variables before I use them
> > in code (my ancient programming college courses).  So, I tend to follow
> > your method.
> >
> > Also, from a security stand, you should already know what should be
> > coming into your page. If it isn't there then something went wrong. And
> > if you didn't define it and it is there you should be ignoring it.
> >
> > Steve
> >
> > -----Original Message-----
> > From: Michael Grant [mailto:mgr...@modus.bz]
> > Sent: Wednesday, September 01, 2010 11:36 AM
> > To: cf-talk
> > Subject: CFParam vs. IsDefined
> >
> >
> > I prefer to CFParam my vars with a default value of a zero len string or
> > a 0
> > for numeric values. Then I skip the isdefined and just test against the
> > value. Well recently someone I know said that it's better to test if
> > it's
> > defined. Is there a pro or con to doing it my way vs. IsDefined ?
> >
> > Thanks.
> >
> >
> >
> >
> >
>
>
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:336716
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to