“/文件“;以及“;文件“;相对路径


What is the difference between "./file" and "file" relative paths

我经常看到开发人员使用这两种类型的相对路径包含外部文件。问题是,

require "./lib/helpers.php"

require "lib/helpers.php"

据我所知,两者都指向同一个文件。但是,就复杂性而言,一个比另一个好吗?

问候

./lib/...将include请求锚定在脚本的当前工作目录中。PHP会在那里查找所需的文件,而不会在其他地方查找。如果不存在,则不执行include并继续执行

lib/...允许PHP扫描其包含路径,例如,如果您有

include_path=.:/var/lib/php:/foo/bar/baz

然后PHP将依次尝试

           ./lib/file.php
/var/lib/php/lib/file.php
/foo/bar/baz/lib/file.php
^^^^^^^^^^^^---- include path component
             ^^^^^^^^^^^^--- include() argument

如果在include路径中找到匹配项,则扫描将停止,并包含该文件。如果扫描用完了要包含的候选路径,则再次停止扫描,但不执行包含。