Hi Toby,


>This isn't really aesthetics as much as it is organization.

>You already know that you don't have to declare PHP
>variables... if I had a one-line script that simply said:
><?php echo $myVar++ ?>
>I would end up with 1 as the output. myVar would be created
>as soon as PHP encountered it (it would be empty, however),
>and with the ++ the variable would be type-casted to a
>numeric type (yeilding 0) and 1 would be added. Thus you get
>1 as your output.

>Likewise, if you reference a non-existant variable that is
>within a class, PHP initializes the variable with an empty
>value. You're going to end up with a variable, not an error,
>whether it's explicitly defined in the class or not.

Defining variables with (var $myVar;) in a class does not
initialize that variable in any way.  It still does
not exist in any way whatsoever, period.  I repeat,
var $myVar; does NOT set the varable


If the variable was set I could see a reason for the
defining, but because the variable is not set and does not exist,
after (var $myVar;), there is no reaon for this other that commenting
your code as you said.

But on the otherhand if php is just showing us a way to define default
values for variables outside of class methods like (var $myVar = "somevalue";)
which ofcource works , thats just fine, but just sticking (var $myVar;)
in there is just useless.


>However, here's why it's not just aesthetics:

>If you have a lot of code to go through, organization is
>important. If you declare a class and only define some
>functions (without explicitly defining variables with var
>$myVar, etc.), you could very well end up wondering what
>variable is what and whether a variable exists, etc. It
>wouldn't be too hard to stray from the right path and end up
>with half of your variables misnamed.

In each method of the class you still have to reference the object 
variables with a $this->myVar, whether the $myVar is deifined
in the class with (var $myVar;) or not ( unless you are wanting
to use a variable local to the method ofcource which is another matter ).
So declaring (var $myVar;) in the class will not stop you from missnameing
variables and also defining (var $myVar;) does not set the
variable, in fact the variable still does not exist in anyway whatsoever.

I hope you understand what I'm saying. Sure, defining variables in the class
is a nice way to organize your code.  But if (var $myVar;) does absolutly nothing
whats the point.  If I want to comment my code I can do:
// note to Sam: don't misspell $myvar ;-)

Thanks,
Sam


----------------------------------------------------------------
Get your free email from AltaVista at http://altavista.iname.com

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to