Re: nested, referenced foreach & implicit current array pointer issues

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

 



# jochem@xxxxxxxxxxxxx / 2007-02-01 02:26:09 +0100:
> Roman Neuhauser wrote:
> > # jochem@xxxxxxxxxxxxx / 2007-01-31 19:41:42 +0100:
> >> instead I would suggest that your better off doing one of 2 things:
> >>
> >> 1. pass in the array to the function explicitly.
> >> 2. use a special function that can be called to retrieve the array
> >> from within your example function.
> >>
> >> bad advice? I'm open to being corrected :-)
> > 
> > 2. is only marginally better than "global".
> 
> if you use a function you can make sure it's output is
> consistent and you have a single point of control.
>
> personally I consider that some what more than a marginal gain.
 
Singleton is still an antipattern (in most cases).

If you're affraid that someone will break a convention which says that
the global associative array $foos has string indexes and values must be
positive integers, or that it needs to be an array at all
($GLOBALS['foos'] = new sabotage("haha")), you would be better off in
e. g. C++ with

std::map<std::string, uint32_t> foos;

voila, you don't need to worry anymore!  Alas, global variables,
including those hidden behind accessors, are a grievous problem in C++
as well.

It's not control over data types, it's visibility of access that causes
most of the lossage.  Wrapping the global in a function doesn't remove
the structural defect.

Been there, done that, got the scars.

-- 
How many Vietnam vets does it take to screw in a light bulb?
You don't know, man.  You don't KNOW.
Cause you weren't THERE.             http://bash.org/?255991

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