PHP OOP中的实例化类

PHP OOP中的实例化类,php,autoload,Php,Autoload,我正在写一份申请书,大约有10门课要做不同的科目。我有两个选项来实例化它们。 1-有一个文件(或一个基类)来实例化所有这些文件。通过这种方式,我确信我实例化了所有类一次,并且可以在任何地方使用它们。通过这种方式,我可以使用\uu outoload()而不是包含文件 2-分别在每个文件中实例化所需的类。绝对如此,我需要包含不同的文件 以下哪种方法更好?为什么?使用解决方案2,每个类一个文件,然后使用。这取决于多种因素,例如站点的负载量。如果您的站点使用率很高,您不希望加载一堆不必要的对象。对于在何

我正在写一份申请书,大约有10门课要做不同的科目。我有两个选项来实例化它们。
1-有一个文件(或一个基类)来实例化所有这些文件。通过这种方式,我确信我实例化了所有类一次,并且可以在任何地方使用它们。通过这种方式,我可以使用
\uu outoload()
而不是包含文件

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


以下哪种方法更好?为什么?

使用解决方案2,每个类一个文件,然后使用。

这取决于多种因素,例如站点的负载量。如果您的站点使用率很高,您不希望加载一堆不必要的对象。对于在何处实例化PHP对象有不同的看法,但根据我的经验,最好是
包含()
(或
require()
或其他)文件,然后在其类文件中实例化其对象。所以我将
包括('class_A.php')
然后在class_A.php中,我将
$object=newobject()'
。作为一个随机的琐事,请注意
\u once()
函数(
包括
要求
)比普通版本花费的周期要多得多。

是您的选择


您有一个主类(工厂),它知道如何实例化每个类

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


对于加载您使用的php文件(如您所见:php甚至包含对这种情况的本机支持)

我不理解这个问题。对象实例化如何影响代码在磁盘上的保存位置?这是关于自动加载和显式包含的问题吗?您可能需要查找“实例化”的实际含义,并重新表述您的问题以使其更有意义。@Niko,为什么您认为我不知道实例化的含义?“我需要知道如何才能做到最好。”MohammadBagherSaberi你的问题对我来说有点奇怪,这就是为什么。您是否介意添加一些示例代码来澄清您所说的内容?我认为factory是一个肮脏的解决方案,它通过PHP实现了自己的本机处理。在需要在其他类中构建实例以防止紧密耦合的情况下,factory模式是完全合法的@马辛沃尔尼