什么是对付在面向对象的PHP框架“实用”功能的最佳方法是什么?现在,我们只需要与被需要在整个系统中的几个功能的文件。 (例如,distribute()函数,它接受一个值和一个数组,并返回与分布在相同的比例和相同的密钥输入数组的值的数组。)

使用,在所有的,因为它不是面向对象的我一直觉得“脏”。它是更好的做法,这些进入各种类别为静态方法,或者是只是一个语义解决方法吗?或者是有只是将是一个框架的水平,有些东西是要落在OOP结构之外吗?

有帮助吗?

解决方案

我一直比较务实有关这样的问题。

如果你想要去的全OOP,很显然你应该坚持到这些类。然而,这些类仅将是容器类,因为他们并不真正代表任何类型的物体。

此外:使用类将要求您要么有那个类的一个实例,使用单例模式或声明的每个函数静态的。第一个是速度较慢(好吧,也许不是那么多,但是在这样的一个大的框架,事情变得非常大,过 - 尤其是在像PHP解释型语言),而第二个和第三个只是普通的无用的,只是一个面向对象的封装为一组功能(特别是第三方法)。

修改:您可以证明我错了。我可能是。我不是太有经验了,总是看到这样的说法,但我可能是错的。

其他提示

我往往使只包含静态方法,没有属性,并且不从继承Util()类。从本质上讲,它作为一个“命名空间”一堆的实用功能。我将让这个类来扩大规模,但偶尔会分裂的方法为自己的班级,如果很显然,这些方法只设计与某些类型的数据或者很显然,一组相关的方法应当是工作分组到一个类一起,也许,一些属性。

我认为这是完全可以,只要是偏离的代码是精心组织,而不是创造你的系统架构缺陷,使人们更难理解和维护从单纯的面向对象的做法偏离。

我一直认为的实用功能作为标准php函数的扩展。它们不是面向对象的,因为你真的不作出他们OO得到任何好处。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top