我总是看到开发人员使用这两种类型的相对路径来包含外部文件。问题是,“
require "./lib/helpers.php"
和
require "lib/helpers.php"
据我所知,两者都指向同一个文件。但是,就复杂性而言,一个是否优于另一个?
问候
最佳答案
./lib/...
将包含请求锚定在脚本的当前工作目录中。 PHP 将在那里寻找所需的文件,而不会在其他地方寻找。如果不存在,则不执行包含并继续执行。
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
如果在包含路径中找到匹配项,则扫描停止并包含该文件。如果扫描用完了要包含的候选路径,则扫描再次停止但不执行包含。
关于php - "./file"和 "file"相对路径有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20225682/