代码之家  ›  专栏  ›  技术社区  ›  Joe Mastey

将php库迁移到名称空间的好理由

  •  6
  • Joe Mastey  · 技术社区  · 14 年前

    我有很多为php 5.2.5编写的对象库,我试图权衡为名称空间修改它们的好处。我现在不担心服务器php版本,因为任何相关的机器都在我的控制之下,所以我不担心向后兼容性。至于库的结构,我使用与zend框架相同的约定,( Library_Module_Class_Name 因此,目前库内部没有任何命名冲突。我预计会将这些类名的库和模块部分移动到名称空间。

    也就是说,如果代码已经编写好了,是否有什么好的理由转移到名称空间?

    谢谢, 乔

    2 回复  |  直到 14 年前
        1
  •  5
  •   zombat    14 年前

    如果你在寻找技术上的原因,我认为没有任何理由可以证明大代码迁移的成本是合理的。据我所知,名称空间没有任何技术优势或性能优势。为一组结构良好的、有名称空间的php代码编写适当的自动加载函数比较容易,但除此之外,我想不出任何东西会成为开始转换的决定性原因。如果有什么区别的话,那么名称空间解析可能会有一点开销(基准测试很容易看到,但我相信这是一个可以忽略不计的区别)。

    也就是说,我最近开始更新一组旧代码以使用名称空间,我很享受它提供的组织能力。代码有点冗长,但我在升级开始时将ides切换到netbeans 6.8,autocomplete处理了导入和引用名称空间的大量繁琐工作。实际上,名称空间支持给我留下了深刻的印象。这让整个项目变得很简单,而且,我敢说,很有趣。

        2
  •  1
  •   blockhead    14 年前

    是的,您的对象是一个对象,而不是一个预先添加到对象的命名空间。你不想和一个控制器而不是一个Zend_控制器一起工作吗?后者看起来很可笑。