John Coggeshall wrote:
On Wed, 2006-07-19 at 03:29 +0200, Steph Fox wrote:
Rasmus, I'm sorry but I can't agree with you. When we get namespacing it'll make perfect sense to have PHP::Foo(). Until then, it makes no sense whatsoever to me to mess about with plain names for root classes. We aren't breaking 'tousands of apps out there' unless someone doesn't bother to read the upgrade guide and happens to have not prefixed their own classes. And if in that situation, all the user needs to do is search and replace, and all _we_ need to do is offer support for that replacement that will work in PHP 4 as well as in PHP 5.2 and beyond.

I agree completely. As I said in a previous post, adoption of PHP 5 is
still gaining momentum and most development being done with it is on new
apps more then upgrading of existing ones by a huge margin. Faced with
this, it makes much more sense to break BC now by naming classes Foo()
and Bar() instead of PHPFoo() and PHPBar()... when forward compatibility
dictates that PHP::Foo() and PHP::Bar() will be the accepted naming
convention.

But having PHPFoo does not in any way prevent PHP::Foo() in a future version. Not namespacing it in 5.2 and then namespacing it in 6 means we break stuff for one version for no reason. The "screw you guys, you should namespaced your stuff" argument is the least userfriendly approach we could possibly take here and doesn't buy us anything longterm.

I can see Andrei's argument for the iterator stuff where you do actually have to type it often, but his identifiers are already unlikely to clash and we could probably make an exception there.

-Rasmus

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to