Hi,

On Mon, 2008-09-22 at 12:45 -0700, 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).
> Mixing both syntaxes in one file is not possible. The semantics of both 
> syntaxes will be identical.

I'm fine with that, personally I'd like having only the {}-Syntax but as
many people want both, well, ...
For future times (6.0) we might think about adding nesting support - if
we get it working good with the engine, but no show-stopper, we're
"delayed" enough...

> 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.

That will hurt a bit when working with DOM for example, but still +1.

> 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.

That's fine, I'm not sure about constants, neither one way nor the
other, but in general I see some support for dropping them.

johannes



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

Reply via email to