我是PHP的新手。我有8个php文件用于函数和类。(5个文件函数和3个文件类)现在我需要将所有8个文件都放到我的php头文件中并将其包含在所有页面中,如下所示:
require('/includes/function1.php');
require('/includes/function2.php');
require('/includes/function3.php');
require('/includes/function4.php');
require('/includes/function5.php');
require('/includes/class1.php');
require('/includes/class2.php');
require('/includes/class3.php');
现在,我的问题是:对于我的文件require
最好选择吗?或者我尝试使用autoload
功能?哪种方式更好/更快/提升并增加我的代码和服务器?!
答案 0 :(得分:2)
您可以定义一个__autoload()函数,如果您尝试使用尚未定义的类/接口,则会自动调用该函数。通过调用此函数,在PHP失败并出现错误之前,脚本引擎将获得加载类的最后机会。
所以这是包含上述文件的更好方法。有关详细说明,请访问this。
答案 1 :(得分:1)
最好的选择是意见问题,但我会选择自动加载器。你已经有很多包含,随着你的脚本增长,你可能会增加更多,管理这样的代码可能很困难。
使用自动加载器会稍微慢一点,但我的意思是分数很少,很少。这只是因为自动加载功能中的代码必须在每次需要文件时运行。时间的差异可以忽略不计。
自动加载器仅适用于类,而不适用于函数。我对函数的建议是将它们包装在类中,也许使方法保持静态。
答案 2 :(得分:1)
如果您想要为所有网页添加课程,最好使用包含文件创建init.php
文件,并在所有网页上包含此init.php
(并使用require_once()
代替require()
)。当您的包含已修复且常用时,请使用初始化程序。
使用spl_autoload()方法是一个不错的选择。这是__autoload()
实现,支持多个自动加载器功能。当您不知道自己需要它时,请在每种情况下使用自动加载。