关于PHP中带有静态函数和命名空间的类的问题


Question regarding class with static functions and namespace in PHP

我在工作中使用PHP 5.2.14,所以没有名称空间选项。我可以用静态函数代替类来代替名称空间吗?

例如,我们有很多"方便"的函数,它们做各种各样的事情,都集中在这个文件中,它们往往变得混乱。我希望看到他们遵循某种组织逻辑。

所以我的解决方案是…我想只是创建名为"StringTools"或"DateTools"的类,每次我们需要使用这些函数时,我会简单地调用SomethingTools::funciton_name(…)。它将是一个充满静态函数的简单类,带有一个空构造函数,纯粹是为了命名空间和组织而创建的。

它将很容易管理和非常有组织,因为相关的函数将被组织到它自己的文件甚至文件夹中,类调用将由自动加载处理,所以我们甚至不需要包含任何东西。

这是一个可以接受的解决问题的方法吗?或者是否有更好的方法来处理5.3版本PHP中的组织函数,这样程序员在命名时就不会踩到别人的脚了?杂乱无章的东西真的让我很烦,我真的很期待我将花费额外的时间来整理这些东西。

这不仅是可以接受的,而且可能是唯一干净的解决方案。对象的目标应该始终是对函数进行分组,因此只要您遵循这一点,将这些函数分组到类中是有意义的(IMO)。你要注意的是,你实际上是像函数一样分组,而不是把函数扔进一个类。这只会使问题变得更糟,因为它会使开发人员在编写新代码时寻找方法时感到困惑。