2016-09-19 61 views
0

我目前正在经历自动加载,我认识到,自动加载可能只是要求或包括相同,我得出结论,也许有可能是使用自动加载而不是要求或包括。 使用自动加载代替require或include来在php文件中使用类的优点是什么?自动加载vs包括或需要在PHP

+3

难道不明显吗?无需编写require/include行? – SOFe

回答

1

当你在一个文件中工作时,你可能需要在顶部的其他文件中使用它们的功能。

根据要求,该列表可能会变得很长。在每个文件中做这件事是乏味的,不洁的,可以避免的。

因此,自动加载您的文件。

例如,您可以将所有类保存在一个名为classes的文件夹下。然后做一个引导文件,你可以写磁带自动加载机:

spl_autoload_register(function ($class) { 
    require_once 'classes/' . $class . '.php'; 
}); 

为了使这项工作,所有你需要做的就是保持文件名和类名相同。

此后,您只需要仅需要此引导程序文件,并且您的所有类都将自动加载。

+0

我也可以添加一个数组中的所有类自动加载所有类,而不包括许多文件,对吗? – athene

+0

你怎么能这样做?你可以要求/包含文件,而不是数组。你可能有其他文件夹,如控制器,有类的系统。在这种情况下,您可以创建一个文件夹名称的数组,并在循环它们的同时,在类中需要。并且您在spl_autoload_register函数中执行此操作。 – Bonzo

+0

它正是我的意思,我通常使用控制器与框架,但是,说你没有使用框架,是否真的需要一个控制器? – athene