Hi Greg,

The patch I posted here:

http://pear.php.net/~greg/ns.element.patch.txt

does exactly what you are talking about.  For some reason, some people
find this too difficult to digest.  I've already expressed my opinion on
the matter (after all, I did spend almost a week developing the patch).

OK, I'll bite.

First off, I find '->' just as much as potential source of confusion as '::', and for the exact same reason: it's already used to express a relationship in PHP. All this says to me is we still don't have the right ns separator.

It's clear that PHP 5.3 shouldn't go out with '::' as the ns separator even if only classes are supported, despite the fact that the current implementation appears solid in every other respect at that level. It can't go out that way because we already know there will be huge user pressure to extend namespace support beyond classes. This wasn't part of the original remit, but we now know we need to allow for it before ns support is part of an official release.

It's equally clear (to me at least) that having two ways to express a namespaced element depending on context would be a Bad Thing [TM]. The only reason that's even come up for consideration is the ambiguity caused by the ns separator we already have.

Basically, I think you're trying to find solutions to the wrong problem, since at present ns support doesn't exist in any official PHP release. Your approach assumes a BC consideration that (thankfully) doesn't exist yet.

I don't want to see that whole ns separator debate all over again any more than you do, but I really don't see a good way to avoid it... sorry.

And if that means introducing a new symbol... it can't really be staved off until 6.0, unless we don't care about 6.0 code not running under 5.3.

The other option of course would be to say "ns support will **never** be extended beyond classes", and actually mean it.

- Steph

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

Reply via email to