我确定我只是有点愚蠢,但include_path
文档似乎有点令人困惑;什么是
Using a . in the include path allows for relative includes as it means the
current directory. However, it is more efficient to explicitly use include
'./file' than having PHP always check the current directory for every include.
实际上是想说?
答案 0 :(得分:2)
是什么
使用。在include路径中允许相对包含,因为它意味着 当前目录。但是,明确使用include更有效 '。/ file'比让PHP总是检查每个包含的当前目录。
实际上是想说?
当您未明确指定路径时,假设您要使用include_path
在文件夹/somepath/foo/includes
中搜索包含文件。你可能有大部分的包含文件,所以这应该不是太低效。
现在您要从该目录中加入baz.php
,xzy.php
和123.php
- 如果您已在.
中首先提供include_path
,那么PHP将会始终首先搜索当前目录,但在大多数情况下,该文件将位于/somepath/foo/includes
文件夹中。
如果不在包含路径的开头指定.
,并在包含当前目录中的文件时明确使用./abc.php
(特殊情况,不是您的“正常”包含的内容之一,那么对于您使用baz.php
,xzy.php
和123.php
包含的所有其他包含文件,PHP将会不必须首先搜索当前目录 - 这是无用的,因为这些文件位于您的特殊包含文件夹中;所以PHP可以首先看一下。
答案 1 :(得分:0)
正在讨论include_path开头的dot。
表单PHP文档:If filename begins with ./ or ../, it is looked only in the current working directory.
./ is the current directory. It is largely the same as just someFile.php.In many cases \it doesn't check any standard places PHP might look for a file, instead checking only the current directory.
Edited.
'效率更高'意味着最好用dot设置路径。换句话说,它不仅会尝试在当前工作目录中查找。因此,如果您想在某个目录中包含文件,但是该文件不存在,它会尝试在其他路径中查找,并且可能需要一些时间并且包含错误或只是错误,这可能是一个问题。< / p>