首先,我们要先明白相对路径和绝对路径的理论:
绝对路径:是从盘符开始的路径,形如
C:\windows\system32\cmd.exe
相对路径:是从当前路径开始的路径,假如当前路径为C:\windows
要描述上述路径,只需输入
system32\cmd.exe
实际上,严格的相对路径写法应为
.\system32\cmd.exe
其中,.表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。
假如当前路径为c:\program files
要调用上述命令,则需要输入
..\windows\system32\cmd.exe
其中,..为父目录。
当前路径如果为c:\program files\common files
则需要输入
..\..\windows\system32\cmd.exe
另外,还有一种不包含盘符的特殊绝对路径,形如
\windows\system32\cmd.exe
无论当前路径是什么,会自动地从当前盘的根目录开始查找指定的程序
所以,在tp5里面,你要明白相对路径是什么定义:使用 __DIR__ 常量定义的路径都是相对路径,这个常量表示当前的路径,在不同地方使用,得出的结果都不一样。
你可以理解为除了使用这个常量之外定义的都是绝对路径(简单来说),一般来说使用 APP_PATH 常量定义的路径都是绝对路径。