2011-04-22 55 views
5

我在工作中使用PHP 5.2.14,因此没有名称空间选项。 我可以用静态函数替换名称空间的类吗?有关PHP中使用静态函数和名称空间的类的问题

例如,我们有很多“方便”的功能,它们混杂在一起,杂乱无章。 我很想看到他们遵循某种组织逻辑。所以我的解决方案是... 我想创建一个名为“StringTools”或“DateTools”的类,每次我们需要使用这些函数时,我只需调用SomethingTools :: funciton_name(...) 。这将是一个简单的类,它充满了静态函数,并带有一个空的构造函数,纯粹是为了命名空间和组织。

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

这是一个可接受的方法来解决这个问题吗?或者是否有更好的方式来处理5.3之前的PHP组织函数,这样程序员在命名它们时就不会互相推??没有组织的东西真的让我感到困惑,我实际上期待着我将花费整理这些东西的额外工作时间。

+2

这是可以接受和广泛使用的。 (而且一个适当的命名空间语法看起来总是如此。) – mario 2011-04-22 22:06:27

回答

3

这不仅仅是可以接受的,它可能是唯一的干净解决方案。一个对象的目标应该总是像函数一样进行分组,所以只要你遵循这个方法,将这些函数分组到类中是合理的(IMO)。你想要注意的是你实际上像函数一样分组,而不仅仅是把一些函数引入到一个类中。这会让问题变得更糟,因为在编写新代码时,如果发现方法,开发人员会感到困惑。

+0

很酷,谢谢你的回答。是的,我会像功能一起组合,这是我做这件事的关键。现在我们拥有一个拥有近10,000行代码的文件,这些代码的历史可追溯到90年代后期,其中一些甚至不再使用......新组织的静态方法加上自动加载将会非常令人惊叹。 – jack97 2011-04-25 15:33:26