News for hackers. Stuff that matters.
Re:PHP 5.3.0 Released by troels on Tuesday June 30, 2009 @11:31AM (#680908)
"::" wouldn't work, because it's ambiguous at compile time. Personally I would have preferred ":::", but at some point it turned into a [bike-shed discussion](http://www.bikeshed.com/), and then a few of the core developers made a judgement call. I don't think they realised how controversial a choice they'd made, or perhaps they just didn't think it through, but once the pick was made, there was really no turning back, because of the politics. That's php core for you, and honestly I think it's a major flaw of php.

It's sort of the same way that GOTO entered the language too.

Re:PHP 5.3.0 Released by wvenable on Tuesday June 30, 2009 @01:07PM (#681095)
> "::" wouldn't work, because it's ambiguous at compile time.

Why is "::" ambiguous at compile time? It seems to me something is rotten here. C++ using :: for both namespaces and static access of classes. Why didn't PHP go the same way?

I never complain about the choice of operator, I complain about it's need to exist in the first place. :: would have done the job just fine, just as it does in C++, which is where they stole it from in the first place.

Re:PHP 5.3.0 Released by Scriptor on Tuesday June 30, 2009 @01:25PM (#681130)
For some reason the PHP developers think it should be Ok to have a class in your code with the same name as a namespace you're using. I just tested this out with Python and it seems that doing the same thing simply gives you what was last defined, so if you have import lib and then class lib you will just end up with lib as being the class.

Frankly, it's insulting to me that the PHP team doesn't think I have the skills needed to not name my classes after namespace I imported.