Finder najde některé soubory dvakrát

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
joseff
Člen | 233
+
0
-

Zdravím, asi bude nejlepší příklad:

foreach(\Nette\Utils\Finder::findFiles('*.neon')->from($params['appDir'], $params['libsDir']) as $filename => $file){
    dump($filename)
    $configurator->addConfig($filename);
}

a dumpne se toto:

C:\wamp\www\app\config\config.neon
C:\wamp\www\app\config\params.neon
C:\wamp\www\app\config\config.neon
C:\wamp\www\app\config\params.neon

V libs samozřejmě žádný neon není. O to nejde, je to jen příklad. Když vypustím libsDir tak se normálně vypíšou jen jednou, ale když přidám libs tak je vše dvakrát. Je to bug nebo dělám chybu?

Jan Tvrdík
Nette guru | 2595
+
0
-

Potvrzuji, a doplňuji o poznatky. V libsDir neon soubory mám.

  • duplikují se jen soubory z první složky, ať už libsDir nebo appDir
  • z libsDir se neduplikují všechny, ale jen pár prvních :)
  • duplikují se (jak to jen popsat) soubory z složky dané prvním parametrem from umístěné v první přímé podsložce, které obsahuje nalezený soubor :)
Jan Tvrdík
Nette guru | 2595
+
0
-

Tak trochu tipuji, že za to může https://github.com/…s/Finder.php#L218.

David Grudl
Nette Core | 8139
+
0
-

Je to tak, AppendIterator nefunguje https://bugs.php.net/bug.php?….

Jan Tvrdík
Nette guru | 2595
+
0
-

Zdá se, že na to existuje workaround https://bugs.php.net/bug.php?….