是否可以使用大类定义?

时间:2015-03-05 08:13:03

标签: php class object optimization

我喜欢让我的物品非常多元化。我编写了我甚至不会在主要目的程序中使用的函数,以防我的程序变得更复杂。因此,我的课程的线条高度很快。 但性能如何呢?我不知道php如何处理我的文件。 假设我的类中有30个函数,当一个Object从该类实例化时只是为了使用其中的1个函数,整个代码是如何处理的?是所有逻辑加载在内存中?或PHP是否预期并仅构建使用过的函数和数据?

换句话说,拥有非常大的文件是否可以?

1 个答案:

答案 0 :(得分:2)

不,PHP在您使用之前不会预测您要使用的文件或类的哪些部分,它如何提前知道?

加载类时,整个类都驻留在内存中。当然,每个请求只加载一次代码;因此,无论您创建多少个对象实例,您一次只能在内存中拥有一个类方法的副本。但是,如果您要定义更多的属性,那么这些属性会占用每个实例的内存

但是,如果你没有使用很多方法的大班通常被认为是不好的做法,而且与SOLID的原则相反。大型的单片类比用于特定目的的小型,更精炼的类更难维护