> Setting aside difficulty of implementation, I'm coming around to the idea, 
> though I think you could simplify it by cordoning off an entire namespace. 
> E.g.:
> 
> A namespace at least two deep (e.g. \A\B\) may be marked 'protected' (by some 
> method TBD). Classes and functions declared in a protected namespace can only 
> be accessed from methods or functions inside the same namespace, or in 
> ancestor namespaces.
> 
> E.g., if \Foo\Internal\ is protected, access of its classes/functions must 
> originate from classes/functions defined in \Foo\, \Foo\Internal\, or 
> \Foo\Internal\*.
> 
> This would allow something like nested classes, but obviously with a lot more 
> flexibility.
> 
> In practice, plugin code sitting in, say, \MyPlugin\ could freely access 
> \Framework\SomeClass, but not \Framework\Internal\SomeClass.

This would solve the problem of internal classes, but these are the least 
interesting part, imho - The methods and properties are much more interesting, 
hence my new approach in response to Fabians response, where I drop the concept 
of internal classes. Please refer to that.

> 
> I see some value there, but there's tons of questions remaining and how to to 
> implement the damn thing...
> 
> Steve Clay

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

Reply via email to