繁体   English   中英

PHP需要vs自动加载

[英]PHP require vs autoload

我是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功能? 哪种方法更好/更快/提升并增加了我的代码和服务器?

您可以定义__autoload()函数,以防您尝试使用尚未定义的类/接口而被自动调用。 通过调用此函数,脚本编写引擎将有最后的机会在PHP因错误而失败之前加载类。

因此,这是包含上述文件的更好方法。 请访问以获得更多描述。

最好的选择是见仁见智,但我会选择自动装带器。 您已经有很多包含项,并且随着脚本的增长,您可能会添加更多的内容,这样很难管理代码。

使用自动加载器会稍微慢一些,但我的意思是说,数量很少。 这仅仅是因为自动加载功能中的代码必须在每次需要文件时运行。 时间上的差异可以忽略不计。

自动加载器仅适用于类,不适用于功能。 我对函数的建议是将它们包装在类中,或者使方法静态化。

如果要包含所有页面的类,最好创建一个带有includes的init.php文件,并将此init.php包含在所有页面上(并使用require_once()而不是require() )。 如果包含内容是固定的并且经常使用,请使用初始化程序。

最好使用spl_autoload()方法。 这是__autoload()实现,支持多个自动加载器功能。 在每种情况下都使用自动加载功能,当您事先不知道需要使用自动加载功能时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM