2017-06-29 1 views
0

これはSymfony 3.3のFinderコンポーネントに関するものです。getRelativePathのドキュメントには、 "相対パスを返します"と書かれています。SplFileInfo :: getRelativePath()...何に対して?

誰に関係がありますか?

  • 現在のフォルダからの相対パスですか?
  • アプリのルートに関連していますか?
  • in()にパラメータとして指定したものに関連していますか?

答えて

0

"相対"は実際には "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()に複数の値を使用する場合、ファイルは次の場所にあります。どちらの値でも、ループ内に2回存在します。各in()値の相対パス/パス名で1回。

関連する問題