我知道PHP中require、require_once、include和include_once的基本用法,但我困惑于何时应该使用它们。
例如:我有3个文件,例如:settings.php、database.php和index.php。
在database.php文件中,我写了:
require_once 'settings.php';
然后在index.php中,我写了:
require_once 'settings.php';
require_once 'database.php';
我加载了两次settings.php文件,这样可以吗?有什么使用这些函数的技巧吗?
_once
函数之一通常表明设计不良”。毕竟,自动加载器基本上也是这样做的。我会说应该始终将_once
用于仅包含函数/类/常量声明的文件,而将其他用于脚本片段。在这种情况下,不使用_once
通常[!]表明设计不良。如果没有自动加载器,_once
(允许代码相当模块化)可以使您的代码变得更好。 (在这种特殊情况下,我同意首先只应包含一个_once
。) - pinkgothicclass_exists()
检查。根据我的经验(也就是自己的经验!),require_once()
通常意味着“我不确定这个文件是否已经在其他地方被包含了,因为我没有完全掌握我的项目结构。”就我所见,任何其他使用_once
的情况都可以通过检查我即将包含的资源是否已经存在来防止 - 无论是函数还是类。 - Pekka_once
是更快、更高效的解决方案。 - Pekka