SplFileInfo::getRelativePath() ... 相对于什么?

SplFileInfo::getRelativePath() ... Relative to what?

这是关于 Symfony 3.3 中的 Finder 组件:getRelativePath 的文档说:“Returns 相对路径”。

有人知道相对于什么吗?

看起来 "relative" 确实意味着 "Relative to the path provided to in()"。

一个例子:

projects
| a_sub_dir
| | foo.txt
| bar.txt

如果,在上面的设置中,我们执行下面的代码:

$finder = (new Finder())
    ->files()
    ->in('/projects');

foreach ($finder as $file) {
    var_dump([
        'path' => $file->getRelativePath(),
        'pathName' => $file->getRelativePathname(),
    ]);
}

我们将收到以下输出

array(2) {
  ["path"]=>
  string(9) "a_sub_dir"
  ["pathName"]=>
  string(17) "a_sub_dir/foo.txt"
}
array(2) {
  ["path"]=>
  string(0) ""
  ["pathName"]=>
  string(7) "bar.txt"
}

附录: 当对 in() 使用多个值时,一个文件会在两个值中找到,它会出现在循环中两次。每个 in() 值的相对路径/路径名一次。