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

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