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