Daniel ab1334c0cf the whole shebang 10 éve
..
Adapter ab1334c0cf the whole shebang 10 éve
Comparator ab1334c0cf the whole shebang 10 éve
Exception ab1334c0cf the whole shebang 10 éve
Expression ab1334c0cf the whole shebang 10 éve
Iterator ab1334c0cf the whole shebang 10 éve
Shell ab1334c0cf the whole shebang 10 éve
Tests ab1334c0cf the whole shebang 10 éve
.gitignore ab1334c0cf the whole shebang 10 éve
CHANGELOG.md ab1334c0cf the whole shebang 10 éve
Finder.php ab1334c0cf the whole shebang 10 éve
Glob.php ab1334c0cf the whole shebang 10 éve
LICENSE ab1334c0cf the whole shebang 10 éve
README.md ab1334c0cf the whole shebang 10 éve
SplFileInfo.php ab1334c0cf the whole shebang 10 éve
composer.json ab1334c0cf the whole shebang 10 éve
phpunit.xml.dist ab1334c0cf the whole shebang 10 éve

README.md

Finder Component

Finder finds files and directories via an intuitive fluent interface.

use Symfony\Component\Finder\Finder;

$finder = new Finder();

$iterator = $finder
  ->files()
  ->name('*.php')
  ->depth(0)
  ->size('>= 1K')
  ->in(__DIR__);

foreach ($iterator as $file) {
    print $file->getRealpath()."\n";
}

But you can also use it to find files stored remotely like in this example where we are looking for files on Amazon S3:

$s3 = new \Zend_Service_Amazon_S3($key, $secret);
$s3->registerStreamWrapper("s3");

$finder = new Finder();
$finder->name('photos*')->size('< 100K')->date('since 1 hour ago');
foreach ($finder->in('s3://bucket-name') as $file) {
    print $file->getFilename()."\n";
}

Resources

You can run the unit tests with the following command:

$ cd path/to/Symfony/Component/Finder/
$ composer.phar install --dev
$ phpunit