这可能是一个愚蠢的问题,但我不得不问:
我正在为我正在进行的项目提供一大组相关功能。这些函数需要访问一些全局变量,因此我考虑将它们放入一个类中并根据需要加载该类。我想我的另一个选择就是将它们作为不相关的函数包含在一个包含的PHP文件中,但将它们放入1类中似乎才有意义。这是可接受的做法吗?我和那些做过这个的人一起工作但是它似乎总是不符合良好的OOP实践的精神,因为这些类几乎从未实例化,但函数仍被调用。或者也许我在想它。
任何输入都会很棒,谢谢你们。
答案 0 :(得分:3)
课程确实最有意义。只要你能消除全局变量,这是一件好事。是实例化类还是静态帮助程序通常取决于上下文。但是,对于将来的单元测试,实例化允许dependency injection。
答案 1 :(得分:0)
根据http://en.wikipedia.org/wiki/Class_%28computer_programming%29,类定义了使类实例具有状态和行为的组成成员。如果您只提供行为(函数)而不是状态(属性),则应将函数包含在包含文件中,并放弃类的开销。
答案 2 :(得分:0)
如果我错了,请纠正我,但这似乎应该创建一个充当静态服务的类,其中不需要对类进行显式实例化,但您仍然会调用此类中包含的方法。
现在,如果您考虑将这些全局变量存储在类中,显然这不再是静态类,因为对象必须有某种生命周期,此时您必须实例化首先是类,然后调用这些方法。
无论如何,如果它们都是处理相同数据的相关函数,那么在它们自己的类中对它们进行分组肯定是有意义的。