命名空间非常有用,直到最近几个版本,PHP才开始支持它们,据我所知。
当我使用Zend Framework时,我必须记住带下划线的长名称 - 像Zend_Form_Element_Button
或Zend_Form_Decorator_HtmlTag
等等。
如果我使用命名空间,这可能是可能的,并且更加容易:
namespace Zend { class something { // ... } }
namespace Zend\Form { class something { // ... } }
namespace Zend\Form\Element { class Button { // ... } }
并且要使用它,我这样做:
use Zend\Form\Element\Button; $btn1 = new Button();
所以我的问题是,在自动加载器系统和存在于Zend Framework中的许多元类“黑魔法”的情况下,是否可以轻松地重写使用命名空间的代码结构,然后有更合理的类名?
问题不是类名的长度 - Eclipse / Netbeans / Aptana很好处理,而是长名称所引起的烦恼。
如果一些你使用的类在名称中有相似的部分,那么经过一段时间会变得混乱。
由于ZF是开源的,我认为如果仅通过重命名和一些代码重新组织就能实现命名空间版本的代码,那么Zend不会介意。