PHP OOP中的实例化类

时间:2013-02-23 11:53:55

标签: php autoload

我正在编写一个包含大约10个课程的应用程序来完成不同的课程。我有2个选项来实例化它们 1-拥有一个文件(或基类)来实例化所有文件。通过这种方式,我确信我实例化了所有类,并且可以在所有类中使用它们。通过这种方式,我可以使用__outoload()而不是包含文件。

2-分别在每个文件中实例化所需的类。绝对这样,我需要包含不同的文件。

这些方法中哪一个更好?为什么呢?

4 个答案:

答案 0 :(得分:2)

这取决于多种因素,例如您的网站负载量。如果您的网站使用频繁,则不希望加载一堆不必要的对象。关于在哪里实例化PHP对象有不同的意见,但根据我的经验,最好是include()(或require()或其他什么)文件,然后在其类文件中实例化其对象。所以我会include('class_A.php');然后在class_A.php里面我会$object = new Object()'。作为一个随机的琐事,请注意_once()函数(include_once()require_once())的成本明显高于普通版本。

答案 1 :(得分:0)

使用解决方案2,每个类一个文件,并使用php autoload

答案 2 :(得分:0)

Factory Pattern是您的选择。

你有一个主类(工厂)知道如何实例化你的每个类

答案 3 :(得分:0)

将它们放在单独的文件中总是更好。它使代码更清晰1000倍。

要加载php文件,请使用__autoload(如您所见:php甚至包含对这种情况的原生支持)