php中的实用工具文件?

kei*_*ant 5 php oop utilities

在OOP PHP框架中处理"实用程序"函数的最佳方法是什么?现在,我们只有一个文件,其中包含整个系统所需的几个功能.(例如,一个distribute()接受值和数组的函数,并返回一个数组,其值以与输入数组相同的比例和相同的键分布.)

我总是觉得"脏"使用它,因为它根本不是面向对象的.将它们作为静态方法移动到各种类中是更好的做法,还是只是一种语义解决方法?或者只是在一个框架中,某些东西将落在OOP结构之外?

jkn*_*rkn 5

我倾向于创建一个Util()只包含静态方法的类,没有属性,并且不是从中继承的.从本质上讲,它充当了一堆实用程序函数的"命名空间".我将允许这个类的大小增加,但是如果很明显这些方法只是为了处理某些类型的数据或者很明显一组相关的方法应该是与一些属性一起分组成一个类.

我认为完全偏离纯粹的OOP实践是完全可以的,只要偏离的代码组织良好并且不会在系统中创建使其更难理解和维护的架构缺陷.


Fra*_*anz 4

对于此类问题,我一直更加务实。

如果你想进行全面的 OOP,你显然应该将它们放入类中。然而,这些类只是容器类,因为它们并不真正代表任何类型的对象。

另外:使用类需要您拥有该类的实例,使用单例模式或将每个函数声明为静态。第一个速度较慢(好吧,可能没那么慢,但在大型框架中,类似的东西也会变大 - 特别是在像 PHP 这样的解释语言中),而第二个和第三个则毫无用处,只是一个 OOP 包装器对于一组函数(尤其是第三种方法)。

编辑:随意证明我错了。我可能是。我经验不足,总是这么看,但我可能是错的。