The Finder component helps you find files and directories based on different criteria (file name, size, contents, modification time, etc.). It's one of those Symfony components with a modest purpose but hugely successful (more than 100 million downloads and thousands of projects depending on it).
When using Version Control Systems (or "VCS" for short) such as Git, this
component ignores by default their metadata files in the search results (you can
control this behavior with the ignoreVCS()
method).
In Symfony 4.3 we improved this component to let you ignore any file or
directory that matches the patterns defined in the .gitignore
file. To do
so, call to the new ignoreVCSIgnored()
method (and make sure that your
.gitignore
file exists and is readable):
1 2 3 4 5 6 7 8
use Symfony\Component\Finder\Finder;
$finder = (new Finder())
->files()
->in(__DIR__)
// ...
->ignoreVCSIgnored(true)
;
Does it look in all parent directories for .gitignore file?
@Thomas No parent directory lookup, looks like Stof is already on it:
https://github.com/symfony/symfony/pull/30448#issuecomment-477120150