> > Why? I have developed framework using PHP namespaces and studied Zend
> > Framework source codes and result is: if we use the new resolution
rules
> > (1), than in nearly all cases developers must prefix class names
with \,
> > only in few cases prefix is not required. Why? Because usually
classes in
> > more nested namespaces extends classes in less nested namespaces.
If you
> > don't believe, look in framework sources :-)
>
> A quick study on the Zend Framework source reveals most top-level
classes
> requiring, using, and accepting as arguments "more inner" classes and
> interfaces in the relevant namespace:
>
> Zend_Acl ==> Zend_Acl_Resource_Interface, Zend_Acl_Role_Interface,
> Zend_Acl_Role_Registry, Zend_Acl_Assert_Registry...
>
> Regard, Stan Vassilev
Stan, ZF doesn't use namespaces yet. This is not namespaced code.
Namespaced code requires different convention
(http://framework.zend.com/wiki/display/ZFPROP/Naming+conventions+for+2.0+-+Matthew+Ratzloff).
In namespaced code there cannot be class Interface in namespace
Zend\Acl\Role. There must be class RoleInterface in Zend\Acl namespace.
Similary class Zend_Acl become Acl in Zend\Acl namespace. So look at the
code with namespace-eyes. Classes Zend_Acl, Zend_Acl_Resource_Interface,
Zend_Acl_Role_Interface... will exist in one namespace.
Every concrete plugins extending Zend\Controller\AbstractPlugin may
exists in namespace Zend\Controllers\Plugins. Classes in Zend\Controller
may not use classes in Zend\Controllers\Plugins (more abstract/common
may not use concrete plugins), but plugins in Zend\Controllers\Plugins
depends on classes in Zend\Controller. The "dependency-direction" should
be one way.
DG.
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php