> Thats awesome. > By the way, what is "it"? > I haven't had the chance of following the hundreds of namespaces > threads with thousands of replies. All I have gather so far is a > massive amount of FUD. > > Could someone summarize what you are trying to convince Greg to agree > on? I would greatly appreciate if that post would not get +100 replies > under an hour. > > > -Hannes
Have to agree on the FUD thing - how many people commenting on this thread have actually tried the current namespaces implementation for themselves? Or are they simply parroting what they've read or what others have said? Maybe a prerequisite for any kind of vote should include actual code written using namespaces. And yes, I have some sitting around in public svn ;) But I'm not crass enough to spam the list with the url, email me privately if you want to see it. I use to have many issues with namespaces - compromises and good code have knocked off most of the problems and I'm almost happy. I really only have one issue left with namespaces. This remaining issue is of course the "is it a method or is a function" problem foo::bar::baz(); - is this calling function baz in namespace foo::bar? or is it calling static method bar::baz in namespace foo? This can be solved in three ways. 1. Greg's "leaf" solution foo::bar->baz(); - namespace foo::bar, function baz foo->bar::baz(); - namespace foo, static method bar::baz Personally I don't like this, get confusing even if we pick some weird operator like :> 2. Don't allow functions or constants in namespaces Simplest solution but appears to piss off all the people who have never actually used the current implementation or hate OO on principle 3. Steph's idea - Change the separator (I vote ':::' - easy to do, similar to what we have already) foo:::bar:::baz(); - namespace foo:::bar function baz foo:::bar::baz(); - namespace foo, static method bar::baz I like this too, minus the headache of arguing over the namespace separator (again) - in a perfect world this would be a single colon, but the ternary issues (people write stupid code, so we have to cater to them) strikes again. $foo = $myvar ? foo:bar:hello; - craziness, although personally I'd say "always take the last :" for issues like this and document the hell out of it... $foo = $myvar ? (foo:bar):hello; or $foo = $myvar ? foo:(bar:hello); should give you the right thing... But I digress. I know a lot of people are simply filtering out the namespace "noise" or are "voting on gut reactions" - "OMG the people who write the code are arguing, it must totally suck" ... Write some code using the current namespaces implementation. Functional and OO. Then decide, don't listen to people bitching or wait for someone else to summarize issues they've found. People not trying it are how we got into this mess in the first place. Thanks, Elizabeth Smith -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php