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...
Zend_Auth ==> Zend_Auth_Storage_Session, Zend_Auth_Storage_Interface,
Zend_Auth_Adapter_Interface...
Zend_Cache ==> Zend_Cache_Core, Zend_Cache_Frontend, Zend_Cache_Backend
(including all specific frontend/backend adapters).
Zend_Db ==> it's a factory for all classes like: Zend_Db_Adapter_*
Zend_Pdf ==> Zend_Pdf_Page, Zend_Pdf_Cmap, Zend_Pdf_Font, Zend_Pdf_Style,
Zend_Pdf_Parser, Zend_Pdf_Trailer, Zend_Pdf_Color etc.
So, I really suggest we leave that argument out.
Regard, Stan Vassilev
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php