Re: Opinion about the using $GLOBALS directly

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

 



At 4:18 PM +0200 12/19/07, Sancar Saran wrote:
 > that said, avoid globals like the plague - sometimes you may come up with
 a situation where using a global is really necessary - such situations
 should be the exception rather than the rule, often if your thinking of
 using a global there is another way of doing it. jmho

And this is why I'm asking here, WHY I should avoid globals like plague ?
Every one says bad. Alright, but no one says WHY ?

Hi:

I'm a little late to this thread (been busy), but this is why I rarely use globals and have not used them in php.

One of the fundamentals of programming I've learned is to reduce problem/solution to their most basic form. Simply, you see a problem and you solve it by dividing the problem it into smaller parts and then writing code to solve the small parts. Eventually, all the small solutions come together to solve the larger problem.

Certainly, and it seems even logical, that you can use a global variable to communicate between the different parts and everything should work -- IF -- that's all there was to it. But, if you have to debug the code OR if you want to use a portion of that solution to solve a different problem, then you can have difficulties. For example:

[1] If you have to debug the code, there's not a really good way to look at a function and see if a variable in it is a global or not -- therein lies a problem, you don't readily know.

In other languages I adopted a naming convention that used "g" as the first letter of a Global variable, like gThisIsMyGolbalVariable -- that way at least I knew the variable was global. But, even then I didn't know where the global was defined or where it might be changed -- it was just an unknown in my function that I had to consider.

[2] If you want to reused a portion of the code, then you have to also accommodate the global. This makes transporting your code from one application to another problematic because you never know IF your function replies on a global or not. If you never use globals, then that's never a problem.

So, my advice is to not use globals, but rather make the functions independent from globals. That way you troubleshoot them easier and can cut/paste them into other solutions without having to worry if some part of that function relies on something who knows where.

That's my reasons why I avoid globals.

Cheers,

tedd

--
-------
http://sperling.com  http://ancientstones.com  http://earthstones.com

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