php - 将 PHP 库迁移到 namespace 的充分理由

标签 php migration

我有大量为 PHP 5.2.5 编写的对象库,我正在尝试权衡为命名空间改造它们的好处。目前我对服务器 PHP 版本没有任何顾虑,因为任何相关机器都在我的控制之下,所以我不担心向后兼容性。至于库的结构,我使用与 Zend Framework 相同的约定(例如 Library_Module_Class_Name),因此我目前在库内部没有任何命名冲突。我希望将这些类名的库和模块部分移动到命名空间。

也就是说,如果代码已经写好,是否有任何充分的理由转移到 namespace ?

谢谢, 乔

最佳答案

如果您正在寻找技术原因,我认为没有什么可以证明大量代码移动的成本是合理的。据我所知, namespace 不会带来任何技术优势或性能优势。为一组结构良好的命名空间 PHP 代码编写像样的自动加载函数更容易,但除此之外,我想不出任何可以成为开始转换的明确理由。如果有的话,命名空间解析可能会有一点点开销(基准测试很容易看到,但我确信这是一个可以忽略不计的差异)。

也就是说,我最近开始更新一组旧代码以使用 namespace ,并且我很享受它提供的组织能力。代码往往有点冗长,但我在升级开始时将 IDE 切换到 Netbeans 6.8,自动完成功能解决了导入和引用命名空间的许多繁琐问题。实际上, namespace 支持给我留下了深刻的印象。它使整个项目变得非常简单,实际上,我敢说,很有趣。

关于php - 将 PHP 库迁移到 namespace 的充分理由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2597091/

相关文章:

javascript - 防止缓存 xmlhttprequest

php - 使用 create 方法从 laravel 获取最后插入的 id

php - 在 Yii 的 Controller 中创建构造方法

Joomla 1.5 至 2.5,带有 Jupgrade。 "undefined migrating error"

php - 使用 yii2 迁移从列中删除 UNIQUE

ios - 使用下一个 App 版本更新 Core Data +iCloud 模型

PHP - 在调用函数之前检查空对象的有效方法?

php - 未定义的属性 : stdClass codeigniter

ruby-on-rails - Activerecord 迁移,使 t.references 正确指向自定义 ID 类型,字符串而不是整数?

mysql - 从 MySQL 切换到 Cassandra - 优点/缺点?