Re: define (true/false)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jay Blanchard wrote:
[snip]

if($bars == 3)
{
  define('BAR', 1);
}

then:

if(BAR)
{

That's an incorrect use for constants. Use variables for that =]


WHY?
[/snip]

Because the constant can be variable in this case. Consider (this is old
school, and we all know that I am the definition of old school) the
definition of the words themselves...variable and constant. You may want
to use a constant to determine a variable;

$myVar = CONSTANT + 3;

But you would never want to use a variable to determine a constant
because the variable is not likely to be the same (that is why we call
them variables) on any iteration. Using constants in expressions is OK,
for instance

if(BAR == $foo){
   ...stuff...
}

But modifying a constant is a no-no.


I may be misunderstanding you here, but I don't see why you would not want to use a variable to define a constant. I do it from time to time, most common would be in a config document where I'll check if the page is being accessed via http or https, and define a constant based on that. I know I could use a variable for this, but I like using the constant for it's global scope in that case.

--
John C. Nichel
ÜberGeek
KegWorks.com
716.856.9675
john@xxxxxxxxxxxx

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux