我正在编写一个包含大约 10 个课程的应用程序来完成不同的主题。我有 2 个选项来实例化它们。
1-拥有一个文件(或一个基类)来实例化所有文件。通过这种方式,我确信我将所有类都实例化了一次,并且可以在任何地方使用它们。这样我就可以使用__outoload()
而不是包含文件。
2-分别在每个文件中实例化所需的类。绝对这样,我需要包含不同的文件。
这些方法中哪一种更好?为什么?
这取决于多种因素,例如您的网站的负载量。如果您的网站使用量很大,您不想加载一堆不必要的对象。关于在哪里实例化 PHP 对象有不同的意见,但根据我的经验,最好是include()
(require()
或其他)文件,然后在其类文件中实例化其对象。所以我会include('class_A.php');
,然后在 class_A.php 里面我会$object = new Object()'
。作为一个随机的琐事,请注意_once()
函数 (include_once()
和require_once()
) 的周期比普通版本的要多得多。
使用解决方案 2,每个类一个文件,并使用php autoload。
工厂模式是您的选择。
你有一个大师班(工厂),它知道如何实例化你的每一个类
将它们放在单独的文件中总是更好。它使代码清晰 1000 倍。
对于加载 php 文件,您比使用__autoload(如您所见:php 甚至包含对这种情况的本机支持)