Ahmed Abdou
Contributed by Ahmed Abdou in #30448

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)
;
Published in #Living on the edge