# 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