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

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