Hi.

For what it's worth, my point of view:

Stanislav Malyshev wrote:
1. Allow braces for namespaces. So, the syntax for namespaces will be:
a) namespace foo;
should be first (non-comment) statement in the file, namespace extends to the end of the file or next namespace declaration.
b) namespace foo {}
can appear anywhere on the top scope (can not be nested).

Full support for the braces, but please *do*not* allow both ways. Why? Perl's "more than one way to do it"? If there's one way, it's clear what to use. I see absolutely no point in this. Really. Please don't.

2. Simplify resolution order for classes in the namespace: unqualified names are resolved this way: a) check "use" list if the name was defined at "use", follow that resolution
b) if not, the name resolves to namespace::name
Consequence of this will be that for using internal class inside namespace one would need to refer to it either as ::Foo or do use ::Foo prior to its usage.

Fine with me. I'd use ::Foo for internal classes anyway to avoid speed and ambiguity issues.

3. Functions will not be allowed inside namespaces. We arrived to conclusion that they are much more trouble than they're worth, and summarily we would be better off without them. Most of the functionality could be easily achieved using static class methods, and the rest may be emulated with variable function names, etc.

We roll everything in classes anyway, so fine with me.


Regards,
Karsten

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

Reply via email to